我最近开始使用JSLint,并且像许多我面对的“已定义之前使用”和“已经定义”。我在这里经历了一些解决方案,并且设法解决了一些问题,但现在我陷入了困境。我的代码是这样的:jslint clickHandler在它被定义之前被使用/已经定义
var foo;
foo = addEventListener("click", clickHandler, false);
...
function clickHandler() {...};
这样的代码工作,但我得到了“使用之前定义”的警告。如果我将clickHandler添加到“var”中,那么在我调用它的时候,它将会是未定义的,迫使我对代码重新排序,并将处理程序的定义放在代码中间(在我看来,可读性较差)。有没有一种方法可以使用clickHandler,但在使用后还有其定义?
好的,你的问题是什么? – 2014-11-04 23:07:46
对不起,我以为我写过问题部分。修复。 – Tiagojdferreira 2014-11-05 10:19:53
我想知道为什么jslint在这方面很勉强。函数foo()在* load *时间(即第一次)被解释,而'var foo = function()'在* run *时间(即后面的时间)被解释。除非您切换到'var foo = function()'样式声明,否则您的代码应该运行。 – amphetamachine 2014-11-05 16:03:59