可能重复:
What is the 'new' keyword in JavaScript?
creating objects from JS closure: should i use the “new” keyword?
请参阅此代码:
function friend(name) {
return { name: name };
}
var f1 = friend('aa');
var f2 = new friend('aa');
alert(f1.name); // -> 'aa'
alert(f2.name); // -> 'aa'
f1
和f2
之间有什么区别?
答案 0 :(得分:4)
您的案例中的新内容无用。 当函数使用'this'关键字时,您只需要使用new关键字。
function f(){
this.a;
}
// new is required.
var x = new f();
function f(){
return {
a:1
}
}
// new is not required.
var y = f();