当前位置: 代码迷 >> 综合 >> js实现new关键字
  详细解决方案

js实现new关键字

热度:27   发布时间:2024-02-06 13:23:00.0

对new关键字的描述:引自MDN

new关键字会做以下操作:

1.创建一个空的简单Javascript对象 (即{});

2.链接带对象(即设置该对象的构造函数)到另一个对象;

3.将步骤1新创建的对象作为this的上下文;

4.如果该函数没有返回对象,则返回this;

 

function myNew(fn) {// 以构造函数fn的prototype为原型 创建一个新的简单对象let o = Object.create(fn.prototype)// 改变fn的this指向到o,并执行fnlet k = fn.call(o);// 如果构造函数没有返回对象,则返回oif (typeof k === 'object') {return k;} else {return o;}}

 

  相关解决方案