【问题标题】:JSHint and "Tolerate Variable Shadowing"JSHint 和“容忍变量阴影”
【发布时间】:2012-11-07 16:04:36
【问题描述】:

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

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

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

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

    f = function () {
        var test;

        window.alert(test);
    };
};

谢谢。

【问题讨论】:

    标签: jshint


    【解决方案1】:

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

    如果您查看他们的测试套件,它们的意思是“重新定义”之类的东西

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

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

    【讨论】:

    • 好地方,我没有注意到这一点。奇怪的是 jshint / lint 对一些非常平凡的事情(例如 ++)如此挑剔,但却没有抓住这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2014-10-23
    • 2013-06-15
    • 2018-08-14
    相关资源
    最近更新 更多