javascript - jslint clickHandler 在定义/已经定义之前被使用

标签 javascript jslint

我最近开始使用 JSLint,和许多人一样,我遇到了“在定义之前使用”和“已经定义”的问题。我在这里查看了一些解决方案,并且确实设法解决了一些问题,但现在我被卡住了。我的代码是这样的:

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

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

最佳答案

你如何重组你的代码以

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

Is there a way I can call use the clickHandler and yet have its definition after it was used?

当然,只需保持代码原样即可。它会工作。 JSLint 只是指出可能的问题或风格违规。并非它所提示的一切实际上都是问题。

如果您想要更灵活的 linter,请使用 JSHint .

关于javascript - jslint clickHandler 在定义/已经定义之前被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26746535/

相关文章:

JavaScript 计时器不会在页面重新加载时继续运行

javascript - 为什么 D3 过渡不起作用

java - 在 Java/GWT 中使用 JSLint

javascript - 如何编写这些函数以使用 forEach() 语句?

javascript - 如何在 Aptana 中升级 JSLint?

javascript - 删除数据库中的一行 (JSP)

javascript - jQuery 下拉菜单在页面调整大小后导致无限循环

javascript - 如何显示所有 YouTube 视频并默认展开其描述?

javascript - JSLint 中出现意外的 '\d'

javascript - 错误: jslint gives me error here for bad looping