微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用命名函数作为jQuery ajax成功回调时,我是否需要括号

如果我有一个较早定义的函数,则在指定将其用于成功回调时是否需要包括括号?

如果我这样做有什么区别?

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] 举报,一经查实,本站将立刻删除。

相关推荐