小编典典

将 JavaScript 函数作为参数传递

all

如何在没有在“父”函数中执行或使用函数的情况下将函数作为参数传递eval()?(因为我读过它是不安全的。)

我有这个:

addContact(entityId, refreshContactList());

它可以工作,但问题是refreshContactList在调用函数时触发,而不是在函数中使用它时触发。

eval()根据我的阅读,我可以使用它来解决它,但这不是最佳做法。如何在 JavaScript 中将函数作为参数传递?


阅读 90

收藏
2022-03-02

共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);
2022-03-02