1

有人知道为什么这段代码不会在 JSHint 中产生错误吗?

我认为它应该给我一个可变的阴影警告,但我没有得到一个。

我在使用 Visual Studio 插件时将“容忍变量阴影”设置为错误。

RES.test = function () {
    var test, f;

    f = function () {
        var test;

        window.alert(test);
    };
};

谢谢。

4

1 回答 1

1

我也偶然发现了这个。显然 JSHint 开发人员对“阴影”的定义不是你所期望的。对他们来说,隐藏来自闭包的变量名并不是隐藏。是的,我也觉得很奇怪:-)

如果您查看他们的测试套件,它们的意思是“重新定义”,您在哪里

var a = 1;
...
var a = 2;

看看他们的测试用例:https ://github.com/jshint/jshint/blob/master/tests/stable/unit/fixtures/redef.js

于 2013-07-28T18:46:57.357 回答