jslintはthis
が好きではありません。jslintを渡してグローバル変数をIIFEに渡すにはどうしたらいいですか?
}(this));
しかし、クライアントとサーバーの両方で実行されるIIFEにグローバル変数を渡す方法です。
どうすれば変更できますか?
オプションを設定せずにjslintを渡したいとします。
jslintはthis
が好きではありません。jslintを渡してグローバル変数をIIFEに渡すにはどうしたらいいですか?
}(this));
しかし、クライアントとサーバーの両方で実行されるIIFEにグローバル変数を渡す方法です。
どうすれば変更できますか?
オプションを設定せずにjslintを渡したいとします。
それはフープのかなりの数によってジャンプが必要ですが、あなたは、この関数を定義することができ、JSLintを通過すると、グローバルオブジェクトへの参照を返します。この関数自体にはないこと
function getGlobal() {
// just creating a function here so that we can get at the Function constructor
// via noop.constructor
var noop = function() {
// dummy statements so the linter doesn't complain about an
// empty block or unused variables
var a = null;
return a;
};
return noop.constructor("return this")();
}
注必要グローバルスコープで定義されるべきである。それを定義してIIFE内で呼び出すことができます。
私が偶然受ける「エラー」の背後にある推論を知っていますか? –
@mikeyballsダグラス・クロフォードは、予測できないこととセキュリティホールを暴露する可能性があるため、「this」の使用を躊躇しています。彼は彼の話しの少なくとも1つ、おそらくもっと話している。私はオフハントを見つけることができませんでしたが、ここでは 'this'を避ける理由について話している人がいます:https://nemisj.com/js-without-new-and-this/ – JLRishe
JavaScriptプログラミングのスタイルがいくつかあります'this'を全く使わないでください。 –
行の最後に '// jshint ignore:line'を追加するだけですか? – ivarni
[better linter](http://eslint.org)を検索してください。 –