js new 做了什么,模拟new的操作

2020-05-21  本文已影响0人  爱看小说的叶子

new原理:

(1) 创建了一个对象,并将其原型对象赋给其_proto_.

(2) 执行构造函数的属性赋值和方法。

(3)返回这个对象

模拟new做的的操作

function newFun(func){ 

   var d = Object.create(func.prototype);  第一步

func.call(d);  第二步

 return d; 第三步

}

例如:

function Ft(){ this.name = 'ye'}  

var f = newFun(Ft)

f.constructor    输出// ƒ Ft(){ this.name = 'ye'}

上一篇 下一篇

猜你喜欢

热点阅读