可能重复:
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
*/
我读过的大量文档都提出了第一种语法,但第二种似乎也同样有效。