ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でパラメータとして渡された関数の即時実行を回避するにはどうすればよいですか?

JavaScript でパラメータとして渡された関数の即時実行を回避するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 12:59:13695ブラウズ

How to Avoid Immediately Executing Functions Passed as Parameters in JavaScript?

JavaScript で関数をパラメータとして渡す

関数をパラメータとして渡すと、再利用可能でカスタマイズ可能なコードを作成できます。ただし、親関数内で関数を実行することは望ましくない場合があります。これを回避する方法は次のとおりです。

問題:

次のコードを考えてみましょう:

addContact(entityId, refreshContactList());

このステートメントは、たとえそれは実行されることを目的としている

解決策:

関数を実行せずに渡すには、単純に括弧を削除します:

addContact(entityId, refreshContactList);

例:

function addContact(id, refreshCallback) {
    refreshCallback();
    // You can also pass arguments if you need to
    // refreshCallback(id);
}

function refreshContactList() {
    alert('Hello World');
}

addContact(1, refreshContactList);

このシナリオでは、refreshContactList() はパラメータとして渡され、addContact() 関数内で実行されます。

以上がJavaScript でパラメータとして渡された関数の即時実行を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。