重複の可能性:
JavaScript の自己実行関数の目的は何ですか?
誰かがJSでそれが何を意味するのか説明してもらえますか:
var obj = (function(){
// code
})()
ありがとう
重複の可能性:
JavaScript の自己実行関数の目的は何ですか?
誰かがJSでそれが何を意味するのか説明してもらえますか:
var obj = (function(){
// code
})()
ありがとう
これは、即時インスタンス化関数と呼ばれます。関数を実行し、戻り値を に代入しobj
ます。それを使用してスコープまたはクラスを作成し、クロージャーを使用してそのスコープ内で特定の変数をプライベートに保つことができます。その件については、 John Resigs のページを参照してください。
したがって、関数が次のようになっているとします。
var obj = (function(n){
return 2+n;
})(3);
の値はobj
5 になります。
すぐに実行される無名関数です。その戻り値は に割り当てられobj
ます。例えば:
var obj = (function () {
return 10;
}()); //Notice that calling parentheses can go inside or outside the others
console.log(obj); //10
コードが実行されているスコープを乱雑にしないように、新しいスコープを導入するためによく使用されます。
var obj = (function () {
var something = 10; //Not available outside this anonymous function
return something;
}());
console.log(obj); //10
これは関数宣言ではなく関数式であるため、右中括弧の後にセミコロンが必要であることに注意してください。