0

可能重复:
JavaScript:var functionName = function() {} vs function functionName() {}

Foo 和 Bar 有何不同?

如果对象只是函数,为什么要引入这种新语法?(福)。

var Foo = function(arg) {
    this.attr = arg;
};

function Bar (arg)  {
    this.attr = arg;
}


/*
>>> f = new Foo(3)
Object { attr=3}
>>> f.attr
3
>>> b = new Bar(40)
Bar { attr=40}
>>> b.attr
40
*/

我读过的大量文档都提出了第一种语法,但第二种似乎也同样有效。

4

1 回答 1

0

区别就在这里:

console.log(typeof foo); //'function'
function foo() {
}

console.log(typeof bar); //'undefined'
var bar = function () {
}
于 2012-07-23T14:57:19.187 回答