3

重複の可能性:
JavaScript の自己実行関数の目的は何ですか?
これは何を意味するのでしょうか?(関数 (x,y)){…}){a,b); JavaScript で

これらの例のように定義された関数を時々見かけます:

(function() {
    ....     
})();

(function(param) {
    ....     
})(JQuery);

(function(chat, Friend) {
    ....     
})(chat, chat.module("friend");

いくつかの Web 調査の後、最後の括弧情報の意味に関する情報は見つかりませんでした。

使い方を説明してくれる人はいますか?それとも、単に意味を説明する Web リンクを指すだけですか?

4

3 に答える 3

2

私たちが持っていたとしましょう:

function add1 (x) {
    return x+1;
}

add1(5)次に、値 6 を取得するために呼び出します。

しかし、括弧を使用すると、 を呼び出すのではなく、add1(5)に置き換えることができ(function (x) {return x+1;})(5)ます。基本的に、これは関数を作成し、すぐに値 5 に適用しますが、 を呼び出すときはadd1(5)、名前付き/定義済みの関数を使用しています。

于 2012-12-31T16:00:55.267 に答える
2

最後のブレーキの意味

(function() {
    ....     
})();

()最後に、関数内のコードがすぐに実行されるようにします。

(function(param) {
    ....     
})(JQuery);

(JQuery)最後に、関数内のコードがすぐに実行され、パラメーターとして渡されJQueryます。

(function(chat, Friend) {
    ....     
})(chat, chat.module("friend"));

(chat, chat.module("friend"))最後に は、関数内のコードをすぐに実行し、パラメータとしてchatおよびを渡します。chat.module("friend")

于 2012-12-31T16:01:10.960 に答える
0

この質問をチェックしてください:このプラクティスは JavaScript で何と呼ばれていますか?

基本的に、関数は渡されたパラメーターで実行されます。この例でparamは、次の値になりますjQuery

(function(param) {
    ....     
})(JQuery);
于 2012-12-31T15:59:00.447 に答える