提交一个bug报告。
我使用jshint。谁能告诉我为什么它处理"for"关键字作为全局变量?
创建全局'for'变量。应该是"for (var items…)"
这里是循环:
//items and properties are defined above...
var items = null, properties = someObject;
//code here is properly terminated with ; "semicolon"
for (items in properties) {
if (properties.hasOwnProperty(items)) {
//some code here...
}
}
正确答案随处可见。
for (items in properties) { }
应:for (var items in properties) { }
(我知道这是necroposting)
与for
无关,而与items
在 for结构中有关。
如果你像
for (items in properties) {
和items
之前没有定义,那么items
将是一个全局变量。由于JSHint会报错,您可能不会在for结构的作用域中声明items
它,即使您让它在示例代码中看起来像这样。
如果真的定义了,那么我建议用JSHint:-)
这似乎是JSHint中的一个bug: https://github.com/jshint/jshint/issues/1016