JSLint 不喜欢这段代码说“在定义之前使用了'b'”
var a = function () {
b();
},
b = function () {
alert("Hello, world!");
};
a();
但对此非常满意
var a, b;
a = function () {
b();
};
b = function () {
alert("Hello, world!");
};
a();
但我没有在我的第二个代码片段中定义任何内容。我只是声明变量 b。
那么为什么 JSLint 会这样做呢?有什么理由我应该首先声明我的所有功能吗?
PS 我知道我可能只是改变了 a 和 b 的顺序,但在实际项目中,我的函数是事件处理程序,有时它们会相互调用,所以这可能是不可能的。