JavaScript函数顺序:为什么重要?

原始问题:

当我的JavaScript调用的功能在页面下方而不是在其下方定义时,JSHint会抱怨。但是,我的页面是用于游戏的,在下载完所有内容之前,不会调用任何函数。那么为什么订单功能出现在我的代码中很重要?


编辑:我想我可能已经找到了答案。

http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting


我在里面吟。看来我需要花另一天的时间才能重新排序六千行代码。使用javascript的学习曲线一点也不陡峭,但是非常糟糕。


有只小跳蛙
浏览 360回答 3
3回答

慕码人2483693

主要原因可能是JSLint仅对文件进行一次传递,因此它不知道您将定义这样的函数。如果使用函数语句语法function foo(){ ... }实际上,您在声明函数的位置根本没有区别(它的行为始终就像声明是在开头一样)。另一方面,如果您将函数设置为常规变量var foo = function() { ... };您必须保证在初始化之前不会调用它(这实际上可能是错误的来源)。由于重新排序大量代码很复杂,并且本身可能是错误的来源,因此建议您寻找解决方法。我敢肯定,您可以事先告诉JSLint全局变量的名称,这样它就不会抱怨未声明的内容。在文件的开头添加评论/*globals foo1 foo2 foo3*/或者,您可以在此处使用文本框。(我还认为,如果您可以将其传递给内部jslint函数,则可以将其传递给内部jslint函数。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript