码迷,mamicode.com
首页 > Web开发 > 详细

JS原型链(二)--new运算符的原理

时间:2018-07-04 18:46:22      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:call   继承构造函数   构造   一个   his   class   原理   var   构造函数   

new运算符的原理:

第一步:创建一个空对象,该对象继承构造函数的原型对象

第二步:执行这个构造函数,并且把this指向该空对象

第三步:返回:如果构造函数执行后返回的结果是一个object类型,则返回这个结果;否则返回第一步创建出来的空对象

//new运算符的原理
      var new2 = function (func) {
          var o = Object.create(func.prototype);  //生成新对象,对象继承构造函数的原型对象
          var k = func.call(o); //执行这个构造函数,并且把this指向o
          if (typeof k === ‘object‘) {
              return k;
          } else {
              return o;
          }
      };

  

JS原型链(二)--new运算符的原理

标签:call   继承构造函数   构造   一个   his   class   原理   var   构造函数   

原文地址:https://www.cnblogs.com/jingmi-coding/p/9264353.html

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