JavaScript関数をパラメータとして渡す 質問する

JavaScript関数をパラメータとして渡す 質問する

関数を「親」関数内で実行したり、 を使用したりせずに、関数をパラメータとして渡すにはどうすればよいですかeval()? (安全ではないと読んだので。)

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

addContact(entityId, refreshContactList());

動作しますが、問題は、refreshContactList関数内で使用されたときではなく、関数が呼び出されたときに発生することです。

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

ベストアンサー1

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

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

おすすめ記事