问答详情
源自:4-2 [JavaScript]创建对象、原型链

new的问题

老师 你说的这个 new  我想到了一个问题。这个new 有什么作用?

提问者:heime 2015-02-06 09:32

个回答

  • Bosn
    2015-02-08 10:04:43

    不使用new调用函数,就是正常的函数调用,return值作为返回值,若没有return语句则返回undefined。

    function foo() {
        this; // 全局对象
    }
    foo(); // undefined


    使用new调用函数,函数将作为构造器,调用时函数内的this会指向以foo.prototype为原型的对象,若无return语句或return返回的不是对象,则将this作为返回值。

    function foo() {
        this; // object
        this.__proto__; // foo.prototype;
    }
    new foo(); // object

  • 当场就吓脲了
    2015-02-06 09:44:33

    重新分配内存