当我在jsFiddle中用JSLint测试这个code snippet时,它给了我这个奇怪的警告:
第3行问题10:无法设置属性'first' 未定义
但是如果我在for循环之外(即之前)声明变量currentNumber,它就不会抱怨。
这是什么原因?
答案 0 :(得分:3)
看起来像jsFiddle或JSLint中的错误,老实说......如果我尝试for (var i = 0; i < 10; ++i) {}
它会给出同样的错误。如果我取出var
,它就会停止抱怨。
答案 1 :(得分:2)
JSLint需要在函数顶部使用var声明。你在jsfiddle中遇到的特殊错误很奇怪,但JSLint的抱怨并不出乎意料。
第3行问题6:将'var'声明移到函数顶部。
警告!强>
JSLint会伤害你的感情。
...
var语句应该是函数体中的第一个语句。