Javascript jslint clickHandler在定义/已定义之前已使用

Javascript jslint clickHandler在定义/已定义之前已使用,javascript,jslint,Javascript,Jslint,我最近开始使用JSLint,和许多人一样,我面临着“在定义之前使用”和“已经定义”的问题。我在这里讨论了一些解决方案,我确实解决了一些问题,但现在我陷入了困境。我的代码是这样的: var foo; foo = addEventListener("click", clickHandler, false); ... function clickHandler() {...}; 代码是这样工作的,但是我得到了“在定义之前使用”的警告。如果我把CLIKHANDER添加到“var”中,

我最近开始使用JSLint,和许多人一样,我面临着“在定义之前使用”和“已经定义”的问题。我在这里讨论了一些解决方案,我确实解决了一些问题,但现在我陷入了困境。我的代码是这样的:

var foo;   
foo = addEventListener("click", clickHandler, false);  
... 
function clickHandler() {...};   

代码是这样工作的,但是我得到了“在定义之前使用”的警告。如果我把CLIKHANDER添加到“var”中,那么到我调用它时,它将是未定义的,迫使我重新排序我的代码并将处理程序的定义放在代码的中间(在我看来,可读性较低)。有没有一种方法可以调用use the clickHandler并在它被使用后得到它的定义?

如何将代码重新构造为

function clickHandler() {...};
var foo;   
foo = addEventListener("click", clickHandler, false);  
... 
有没有一种方法可以调用use the clickHandler并在它被使用后得到它的定义

当然,只要保持代码不变。它将工作。JSLint只是指出了可能的问题或样式冲突。并不是所有它抱怨的事情都是问题


如果您想要更灵活的过梁,请使用。

好的,您的问题是什么?对不起,我以为我已经写了问题部分。修好了。我想知道为什么jslint在这个问题上犹豫不决<代码>函数foo()。除非您切换到
var foo=function()
样式声明,否则您的代码应该会运行。这会起作用,但会使我在文档的开头而不是结尾定义所有函数。就风格而言,我真的更喜欢最后的函数定义,因为我发现它更具可读性(首先是主程序的逻辑,然后是细节)“你们必须做费利克斯在这里要做的事才能通过考验”。@Tiagojdferreira:正如ruffin所说,那个么就不要使用JSLint。使用更可配置的JSHint。