在jQuery函数中编写带或不带括号的函数有什么区别?

时间:2016-10-06 02:56:38

标签: javascript jquery function

好吧,我开始使用jQuery,我想知道在函数内写一个带或不带括号的函数有什么区别。 例如,如果我有以下功能:

function test(){
    alert("pen pineapple apple pen");
}

此:

$(document).ready(test);

和此:

$(document).ready(test());

两者都显示相同的结果:“笔菠萝苹果笔”

1 个答案:

答案 0 :(得分:3)

将括号()放在函数末尾会导致立即调用该函数,并在表达式中使用其返回值。

此代码$(document).ready(test);正在使用test作为回调函数。它基本上说:当文档准备就绪时,调用我提供给你的函数(test)。

此代码$(document).ready(test());立即调用函数test,让它返回一个值,然后将该值传递给ready方法。 test可能会在此处返回不同的函数,而这又将充当所需的回调函数。它也可能只是一个错误,有人无意中包括了它们不应该有的括号。