为什么需要 if(0) 和 if(1)

yee*_*een 5 javascript arcgis

查看这篇文章,了解 ArcGIS 3.0 中的 javascript 代码。https://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0

里面有“if(0)”和“if(1)”,为什么需要这个呢?if(0) 不是总是 false 而 if(1) 总是 true 吗?

hou*_*oft 2

是的,0永远是假的,也1永远是真的。

然而,正如您在代码中看到的,该公司认为这是他们的商业秘密:

COPYRIGHT 2009 ESRI

 TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
 Unpublished material - all rights reserved under the
 Copyright Laws of the United States and applicable international
 laws, treaties, and conventions.
Run Code Online (Sandbox Code Playgroud)

混淆此类代码(即使其更难以阅读)是很常见的。其中一种方法是插入无用的语句,例如您所看到的if(1)和。if(0)

您可以在此处阅读有关混淆的更多信息。

另一种可能的解释是,if正如 @mvbl fst 提到的,这些语句用于代替尚未实现的实际逻辑。

  • 我不同意。“if(1)”语句出现在其网站上完全开放的 Dojo 代码中——为什么他们想要混淆?我的意思是说,此版权声明之后的代码实际上都不包含任何“if(1)”语句;这都是 Dojo 代码的一部分。 (2认同)