var o = new Foo();
- 创建一个全新的对象
- 这个新对象会被执行[[Prototype]]连接
- 这个新对象会绑定到函数调用的this
- 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象
也就是说上例相当于执行如下代码
var o = new Object();
o.__proto__ = Foo.prototype;
Foo.call(o);
var o = new Foo();
也就是说上例相当于执行如下代码
var o = new Object();
o.__proto__ = Foo.prototype;
Foo.call(o);
本文标题:new的本质
本文链接:https://www.haomeiwen.com/subject/vyipcftx.html
网友评论