JSHint和“容忍变量阴影”

时间:2012-11-07 16:04:36

标签: jshint

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

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

我有"容忍变量阴影"因为我使用visual studio插件是假的。

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

    f = function () {
        var test;

        window.alert(test);
    };
};

感谢。

1 个答案:

答案 0 :(得分:1)

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

如果你看一下他们的测试套件,他们的意思就像“重新定义”,你在哪里做

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

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