関数を「親」関数内で実行したり、 を使用したりせずに、関数をパラメータとして渡すにはどうすればよいですか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);