【发布时间】:2016-04-09 10:38:27
【问题描述】:
JSLint 似乎对函数排序很挑剔。
一切顺利:
function a() {
'use strict';
return 1;
}
function b() {
'use strict';
a();
}
虽然这会给出 'a' is out of scope 错误消息:
function b() {
'use strict';
a();
}
function a() {
'use strict';
return 1;
}
这是设计使然吗?我应该关心吗?在更大(更复杂)的情况下,如何避免它可能并不总是可以给函数一个明确的顺序?
【问题讨论】:
-
错误应该类似于
Functions should be defined before using them -
"JSLint 似乎对函数排序很挑剔。" - 是的。就此而言……“JSLint 似乎很挑剔”也是如此。
-
一些 linter 希望你在函数被引用之前定义它们,但 JavaScript 不在乎。
-
@epascarello 的评论在这里是绝对必要的。这个订购警告确实是一个值得解决的错误(见下面的答案)。另外,您是否有一个“可能并不总是可以给函数一个明确的顺序”的例子?通常,正如我在下面所说的那样,这是一种值得一试的代码味道。
标签: javascript jslint