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 的顺序,但在实际项目中我的函数是事件处理程序,有时它们会相互调用,所以这可能是不可能的。
最佳答案
如果您的代码编写得很好并且是面向对象的,则可以在使用它们之前声明您的函数。但是 JSLint 设置了许多标准,这些标准实际上与您的应用程序的功能几乎没有关系,而且我真的怀疑以这种或另一种方式声明函数是否会对性能产生任何影响。
关于javascript - 函数在定义之前被使用 - JSLint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12963161/