小编典典

将JavaScript函数作为参数传递

javascript

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

我有这个:

addContact(entityId, refreshContactList());

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

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


阅读 803

收藏
2020-04-25

共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);
2020-04-25