任何人都可以告诉我这两个例子之间的区别:
//difference with this:
var x = function withName(a,b,c) {} //why i should declare a name here?
//and this
var y = function (a,b,c) {}
答案 0 :(得分:1)
根据ECMA规范,可以通过声明或表达式编写函数,
声明正在编写如下函数,
function withName(a,b,c) {
}
通过声明,需要编写一个标识符,在本例中为withName
您给出的示例都是函数表达式,其中不需要编写标识符withName
,因为您仍然可以使用变量x
或y
调用此函数
var x = function withName(a,b,c) {}
var y = function (a,b,c) {}
但是,唯一的区别是,如果您没有指定标识符,则表示您正在创建匿名函数。
您可以查看this link了解详细说明。
答案 1 :(得分:0)
在这个特殊情况下,没有区别。但一般来说,分配给变量的函数具有名称的事实使得可以从同一函数(recursion)内部调用函数。