如何在不执行“父”函数或不使用函数的情况下将函数作为参数传递eval()?(因为我已经读到它是不安全的。)
eval()
我有这个:
addContact(entityId, refreshContactList());
它可以工作,但是问题是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);