1

このコードが JSHint でエラーを生成しない理由を知っている人はいますか?

可変シャドウ警告が表示されるはずですが、警告が表示されません。

ビジュアルスタジオプラグインを使用しているため、「許容変数シャドウイング」がfalseになっています。

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 に答える