次のように設定されたJavaScriptライブラリが表示されます。
(function (global, undefined) {
//..
})(this)
undefined
この文脈におけるの意味は何ですか?
次のように設定されたJavaScriptライブラリが表示されます。
(function (global, undefined) {
//..
})(this)
undefined
この文脈におけるの意味は何ですか?
古いブラウザーでundefined
は、immutableまたはnon-writableではありませんでした。未使用の関数パラメーターundefined
の名前として設定すると、より高いスコープで設定されたとしても、それがundefinedであることを意味していました。
// Old browser
undefined = 1;
undefined; // 1
// Modern browser
undefined = 1;
undefined; // undefined
書き込み不可はグローバル スコープでのみ適用されることに注意してください。どちらの場合も、次のことが当てはまります。
(function () { // creating a new scope means..
var undefined = 1; // this is now different to the `undefined` global
return undefined; // so can be written to, e.g. set as 1
}()); // 1
関数のパラメーターとして設定undefined
すると、ミニファイアーはそれを短い名前に置き換えることができます。
たとえば、次のようになります。
(function (global, undefined) {
alert(undefined)
})(this)
これに縮小することができます:
(function(a,b){alert(b)})(this)
したがってundefined
、関数内の変数のすべての出現箇所は、 のような短い名前に名前が変更されb
ます。変数名に関係なく、同じ値を持つため、同じ目的を果たします。