`f()`和`new f()`有什么区别?

可能重复:
JavaScript中的'new'关键字是什么?
从JS关闭创建对象:我应该使用“新”关键字?

看到这个代码:

function friend(name) {
    return { name: name };
}

var f1 = friend('aa');
var f2 = new friend('aa');

alert(f1.name); // -> 'aa'
alert(f2.name); // -> 'aa'

f1f2什么区别?


你的情况是新的不是有用的。 当函数使用'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();
链接地址: http://www.djcxy.com/p/40853.html

上一篇: What's the difference between `f()` and `new f()`?

下一篇: What is return new function(); in JavaScript?