这就是我开始发现静态代码分析很奇怪的地方。

Google关闭给我这个错误

// using dot notation
JSC_INEXISTENT_PROPERTY:


当我使用点表示法访问动态创建的对象属性时(即,没有显式创建该属性)

当我使用方括号表示法时,错误消失了,但是现在jshint.com引发了错误:

// using bracket notation
['tag'] is better written in dot notation.


我知道这些警告/错误只是编写更好代码的提示……但是它们彼此矛盾。

这是违规行:

vDomTagAdd(bookmark_object.tag);


有关

Extern File Suggestion

最佳答案

这是两个不同的警告。 Closure认为该属性不存在,因为它找不到创建它的位置。我假设您可以以某种方式告诉Closure该属性是动态的,并且您确定它存在。

JSHint只是向您发出样式警告,除非您绝对必须使用方括号,否则最好使用点符号,但它不会尝试猜测属性是否已定义。

08-07 19:02