【发布时间】:2011-09-29 04:34:03
【问题描述】:
我是 jQuery 新手,对使用(或不使用)带有回调函数的括号感到有些困惑。假设我有一个函数:
function cb() {
// do something
}
现在有什么区别:
$("p").hide(1000, cb);
和
$("p").hide(1000, cb());
与何时执行cb函数有关吗?如果有人能用最简单的术语向我解释这一点,那就太好了。
【问题讨论】:
-
建议:把这个复制到控制台看看区别:
function cb(){ return 42;}; console.log(cb); console.log(cb()); -
这是 JavaScript 的一个函数。它不仅限于 jQuery。
-
确实,值得一提。 jQuery 是一个库(函数
$和.hide来自它)。但是,像这样的基本语法规则是由 Javascript 语言制定的。因此,除了其周围的上下文之外,这个问题实际上与 jQuery 几乎没有关系。 -
谢谢,我试过了,cb() 返回一个值 42,正如 Tomalak 所说,它作为参数传递给 .hide()。那么没有括号的 cb 怎么办 - 42 会发生什么?
标签: javascript jquery