gpt4 book ai didi

javascript - 由于函数排序导致 JSLint "out of scope"错误?

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:39 25 4
gpt4 key购买 nike

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 并不关心,因为 functions and variables are hoisted .

您可以更改您的代码风格,或使用 http://jshint.com/docs/options/#latedef 告诉 linter 忽略它

/* jshint latedef:nofunc */
function b() {
'use strict';
a();
}

function a() {
'use strict';
return 1;
}

参见 https://stackoverflow.com/a/23916719/227299

关于javascript - 由于函数排序导致 JSLint "out of scope"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com