このjsLintような書き込みコードが暗黙のグローバル文句:回避暗黙のグローバル(JSlint)
var Test = (function(){
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}());
Test.fnc("hat");
(具体的には、 'グローバルインプライド:4警告')正しい方法と考えられている何
これを避けるには?私の本能的な反応は、このですが、私はそれが「正しい」です確信していない:
var Test2 = (function(global){
var alert = global.alert;
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}(this));
Test2.fnc("hat");
編集: コンセンサスは、それはだ、問題は、私はグローバルにアクセスしていたという事実はないことのようですさらに、私は、グローバルが何であるかをjslintに伝えていません。他の誰かが入力しているかどうかを確認するために、これをもう少し開いておきます。
IIRC変数名の宣言をコンマ区切りにする必要はありませんか? –
@ZackTheHumanそこにスペースがあります。 JSLintはカンマ区切りであると言います。私は常にスペースのないリストをエラーなく使用しました。おそらく両者を扱います。 – Raynos
コメントの開始と 'global'の間にはスペースを入れてはいけません。さもなければ、jslintはそれを処理しません。 – oyenamit