如果我有一个较早定义的函数,则在指定将其用于成功回调时是否需要包括括号?
如果我这样做有什么区别?
如
function fish_food(){//do something}
$.ajax({
url: '/',
success: fish_food
});
要么
$.ajax({
url: '/',
success: fish_food()
});
解决方法:
fish_food本身(不带括号)充当对功能对象的引用.它允许您将引用传递给该函数,以便日后调用.
fish_food()(带括号)是一个函数调用表达式,它使函数被执行.函数代码将被评估并以可选返回的值运行.
使用您提供的AJAX代码(以及涉及回调的所有异步JavaScript),您想使用fish_food版本(不带括号).这会将AJAX代码传递给您的成功功能参考,一旦AJAX代码完成了往返服务器的往返行程,就将异步执行该代码.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。