好吧,我开始使用jQuery,我想知道在函数内写一个带或不带括号的函数有什么区别。 例如,如果我有以下功能:
function test(){
alert("pen pineapple apple pen");
}
此:
$(document).ready(test);
和此:
$(document).ready(test());
两者都显示相同的结果:“笔菠萝苹果笔”
答案 0 :(得分:3)
将括号()
放在函数末尾会导致立即调用该函数,并在表达式中使用其返回值。
此代码$(document).ready(test);
正在使用test
作为回调函数。它基本上说:当文档准备就绪时,调用我提供给你的函数(test
)。
此代码$(document).ready(test());
立即调用函数test
,让它返回一个值,然后将该值传递给ready
方法。 test
可能会在此处返回不同的函数,而这又将充当所需的回调函数。它也可能只是一个错误,有人无意中包括了它们不应该有的括号。