2017-12-16 6 views

答えて

4

#1にはあまり意味がありません。 windowは読み取り専用であり、再定義することはできません。したがって、#1の方法で特定の時点でその値を取得する必要はありません。 #2は大丈夫です。

パターン#1の用途は、後に他のコードによって変更されるかもしれませんもの、例えばを取り込むため、主に有用である:

var x = 1; 
 
(function(x) { 
 
    setTimeout(function() { 
 
     console.log("inside, x = " + x); 
 
    }, 100); 
 
})(x); 
 
x = 2; 
 
console.log("outside, x = " + x);

...や物事のための便利な速記名を取得します:

(function(d) { 
 
    var div = d.createElement("div"); 
 
    div.innerHTML = "Hi"; 
 
    d.body.appendChild(div); 
 
})(document);

また、一般的に undefined識別子ですが変更された場合には undefinedを取得するために使用した

(function(u) { 
 
    console.log(typeof u); // "undefined" 
 
})(/*Note there's no argument passed*/);

を今すぐundefinedは読み取り専用であり、再定義することはできないことを、行うには本当の必要はありませんそれはもはや。

関連する問題