码迷,mamicode.com
首页 > 其他好文 > 详细

实现new操作符

时间:2020-03-02 11:14:19      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:call   span   new   对象   typeof   arguments   lin   引用   ==   

实现new操作符的过程:

1.创建一个对象

2.通过new创建的每个对象的_proto_都链接到该函数的prototype对象上

3.如果函数没有返回对象类型Object(包括Function,Array,Date等),那么new表达式中的函数将返回该对象的引用

function(fn){
    
   const res = {}
   if(fn.prototype!==null){
      res.__proto__ = fn.prototype
    }
   let last = fn.apply(res,Array.prototype.slice.call(arguments,1))
   if((typeOf last === ‘object‘||typeOf last === ‘function‘)&& last!==null){
     return last
   }
   return res
    
    
}     

 

实现new操作符

标签:call   span   new   对象   typeof   arguments   lin   引用   ==   

原文地址:https://www.cnblogs.com/yourName/p/12394118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!