将JavaScript函数作为参数传递

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

我有这个:

添加联系人(entityId,refreshContactList());

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

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

您只需删除括号:

添加联系人(entityId,刷新联系人列表);

然后,它传递函数而不首先执行它

以下是一个例子:

函数addContact(id,刷新回调){
刷新回调();
//如果需要,还可以传递参数
//刷新回调(id);
}
函数refreshContactList(){
警报(“你好世界”);
}
添加联系人(1,刷新联系人列表);

发表评论