1. ホーム
  2. javascript

[解決済み] JavaScriptの関数をパラメータとして渡す

2022-03-22 08:50:34

質問

親関数の中で関数を実行せずに、パラメータとして関数を渡すにはどうすればよいですか。 eval() ? (安全でないと書いてありましたので)

私はこれを持っています。

addContact(entityId, refreshContactList());

うまくいくのですが、問題は refreshContactList は、関数内で使用されたときではなく、関数が呼び出されたときに発火します。

を使って回避することができました。 eval() しかし、私が読んだところによると、それはベストプラクティスではないそうです。JavaScriptで関数をパラメータとして渡すにはどうすればよいのでしょうか?

どのように解決するのですか?

括弧を削除するだけです。

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);