我试图理解为什么 JSLint 在以下示例中抱怨隐含的全局变量:
var TEST = (function () {
var count = 0;
function get_count() {
return add_one();
}
function add_one() {
count += 1;
return count;
}
return {
get_count: get_count
};
}());
通过 JSLint 运行它会给出错误:
第 5 行字符 12 处的问题:未定义“add_one”。
还说:
隐含全局:add_one 5
如果在add_one()
函数之前移动get_count()
函数,错误就会消失。但是,使用上面的代码,当您在浏览器中运行它时不会产生任何错误。谁能解释为什么 JSLint 抱怨?
谢谢!
马特