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;
}
这是设计使然吗?我应该关心吗?在更大(更复杂)的情况下,可能并不总是能够给函数一个明确的顺序,如何避免这种情况?
JSLint/JSHint 希望您在引用函数之前定义它们。然而,JavaScript 并不关心,因为函数和变量被提升.
您可以更改代码风格,或者告诉 linter 使用忽略它http://jshint.com/docs/options/#latedef
/* jshint latedef:nofunc */
function b() {
'use strict';
a();
}
function a() {
'use strict';
return 1;
}
See https://stackoverflow.com/a/23916719/227299
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)