将JavaScript函数作为参数传递

如何在不执行“父”函数或不使用函数的情况下将函数作为参数传递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);

以上是 将JavaScript函数作为参数传递 的全部内容, 来源链接: utcz.com/qa/428103.html

回到顶部