为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

有只小跳蛙 2019-11-22 10:53:51
原始问题:当我的JavaScript调用的功能在页面下方而不是在其下方定义时,JSHint会抱怨。但是,我的页面是用于游戏的,在下载完所有内容之前,不会调用任何函数。那么为什么订单功能出现在我的代码中很重要?编辑:我想我可能已经找到了答案。http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting我在里面吟。看来我需要花另一天的时间才能重新排序六千行代码。使用javascript的学习曲线一点也不陡峭,但是非常糟糕。
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

主要原因可能是JSLint仅对文件进行一次传递,因此它不知道您将定义这样的函数。


如果使用函数语句语法


function foo(){ ... }

实际上,您在声明函数的位置根本没有区别(它的行为始终就像声明是在开头一样)。


另一方面,如果您将函数设置为常规变量


var foo = function() { ... };

您必须保证在初始化之前不会调用它(这实际上可能是错误的来源)。


由于重新排序大量代码很复杂,并且本身可能是错误的来源,因此建议您寻找解决方法。我敢肯定,您可以事先告诉JSLint全局变量的名称,这样它就不会抱怨未声明的内容。


在文件的开头添加评论


/*globals foo1 foo2 foo3*/

或者,您可以在此处使用文本框。(我还认为,如果您可以将其传递给内部jslint函数,则可以将其传递给内部jslint函数。)


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 359 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信