0

我看到以这种方式举例的命名函数:

var clearClick = function() {
    // do something
}

...然后像这样用于绑定:

$("#clear").bind(click, clearClick);

...或使用“速记”方法,因此:

$("#clear").click(clearClick);

但是为什么不使用更“正常”(类似于其他编程语言)的构造,如下所示:

function clearClick() {
    // do something
}

它的工作原理是一样的,不是吗?以这种传统方式定义函数有什么缺点吗?以前的方式只是jQuerians炫耀他们的新奇事物吗?

4

2 回答 2

3

这有效 函数表达式

var clearClick = function() {
    // do something
}

$("#clear").bind(click, clearClick);

这不起作用 函数表达式。顺序在这里很重要。

$("#clear").bind(click, clearClick);

var clearClick = function() {
    // do something
}

但是,当您使用 a 声明函数时function declaration,顺序并不重要。以下语法的另一个优点是函数名称出现在调试器中。

function clearClick() {
    // do something
}
于 2013-08-01T20:41:14.387 回答
1

您可能想要这样做的一个原因是它是如何工作的:

var clearClick;
$("#clear").click(clearClick);

clearClick = function() {
    // do something
}

... lots of stuff in here ...

clearClick = function() {
    // do something different
}
于 2013-08-01T20:44:02.103 回答