问:new操作符都做了什么?
七娃博客
579人阅读
new操作符做了什么?
1.创建一个空对象,将其做为this;
2.空对象继承了函数的原型,空对象的proto指向函数的prototype;
3.执行该函数,fn.call(obj);
4.判断构造函数返回值:为空返回基本类型obj;为object就返回引用类型res;特殊情况,为null返回obj
实现一个new:
function New(fn) { let obj = {}; obj.__proto__ = fn.prototype let res = fn.call(obj) return typeof res === 'object' ? res || obj : obj }
主题开源不易,支持一下作者吧!
使用支付宝打赏
使用微信打赏
评论 | 0 条评论
登录之后才可留言,前往登录