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

すぐに実行せずにJavaScriptで関数をパラメータとして渡すにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-28 08:19:10949ブラウズ

How to Pass Functions as Parameters in JavaScript Without Immediate Execution?

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

JavaScript では、途中で呼び出すことなく、関数をパラメータとして他の関数に渡すことができます。これは、関数の実行を後の時点まで延期したい場合に便利です。

問題:

関数をパラメータとして渡すとき、すぐに実行しないようにすることが重要です。たとえば、次のコードは、パラメータとして addContact() に渡されると、refreshContactList() を実行します。

addContact(entityId, refreshContactList());

解決策:

関数参照を渡すには実行せずに、かっこを削除するだけです:

addContact(entityId, refreshContactList);

この手法を使用すると、関数を呼び出しをトリガーせずにパラメーターを呼び出します。以下に、関数をパラメータとして渡して後で実行する方法を示す例を示します。

function addContact(id, refreshCallback) {
    refreshCallback(); // Execute the function passed as the second parameter
}

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

addContact(1, refreshContactList);

この例では、addContact() 関数は 2 つのパラメータ id とrefreshCallback を取ります。 addContact() 関数が呼び出されると、refreshCallback 引数には、refreshContactList() 関数への参照が渡されます。 freshContactList() 関数は、addContact() 関数内で呼び出されるまで実行されません。

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

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