var newObj = function(func){
var t = {}
t.prototype = func.prototype
var o = t
var k =func.call(o);
if(typeof k === 'object'){
return k;
}else{
return o;
}
}
var parent1 = newObj(Parent) //等价于new操作
https://juejin.im/post/5c11e300e51d4548271781d8
文字版:
1.新建一个对象
2.o.proto = Object.prototype 将新创建的对象的__proto__属性指向构造函数的prototype
3.将this指向新创建的对象
4.返回新对象,但是这里若构造函数返回值是对象,则返回该对象。

本文详细解析了JavaScript中自定义构造函数的过程,通过new操作符实例化对象的内部机制。介绍了如何使用new操作符等价实现自定义构造函数,并讨论了构造函数返回对象的情况。
558

被折叠的 条评论
为什么被折叠?



