7

重複の可能性:
JavaScript の自己実行関数の目的は何ですか?

JS での意味は、次のようなコードを記述します。

(function (window) { })(window);

またはこれ:

(function () { })();
4

3 に答える 3

11

closure変数を非表示にするプライベートスコープを作成します。global object

// Somewhere...
var x = 2;

...
...
// Your code
var x = "foo" // you override the x defined before.

alert(x); // "foo"

ただし、クロージャーを使用する場合:

var x = 2;
// Doesn't change the global x
(function (){ var x = "foo";})();

alert(x); // 2

構文に関しては、それは単なる自己実行関数であり、宣言してから実行します。

于 2012-07-03T20:57:53.413 に答える
7

これは、自己呼び出しの無名関数または関数式です。これにより、グローバル スコープで変数を作成できなくなります。また、すぐに関数を呼び出します。

function someFunc() {
    // creates a global variable
}

var someFunc = function () {
    // creates a global variable
}

(function(){
    // creates an anonymous function and 
    // runs it without assigning it to a global variable
})();
于 2012-07-03T20:57:47.940 に答える
3

それはクロージャーと呼ばれます。Javascriptは変数をスコープの一番上に引き上げるため、変数のスコープを制御するのに役立ちます。また、すぐに実行または初期化する無名関数でもあります。

于 2012-07-03T20:58:27.953 に答える