我正在使用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...
}
}
答案 0 :(得分:4)
它与for
无关,但在 for for构造中与items
无关。
如果你喜欢
for (items in properties) {
之前未定义和items
,那么items
将是一个全局变量。由于JSHint抱怨,您可能不会在for构造的范围内声明items
,即使您在示例代码中看起来像这样。
如果确实已定义,那么我建议使用JSHint提交错误报告: - )
答案 1 :(得分:4)
到处都记录了正确答案..
for (items in properties) { }
应该是:
for (var items in properties) { }
(我知道这是necroposting)
答案 2 :(得分:3)
这似乎是JSHint中的一个错误:https://github.com/jshint/jshint/issues/1016