new操作符的大致过程

var Func = function () {}
var func = new Func()
 
1,定义一个空对象
2,设置原型链,链接到原型, func.__proto__ = Func.prototype()
3,让Func中的this指向实例化对象,并执行构造函数体, Func.call(func)
4,判断返回值,如果构造函数返回值为对象或者函数,则返回该对象或者函数,否则返回新创建的obj对象
posted @ 2021-10-09 19:15  雪茄与咖啡  阅读(59)  评论(0)    收藏  举报