JS原型链--new运算符的原理

Posted 静谧coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS原型链--new运算符的原理相关的知识,希望对你有一定的参考价值。

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运算符的原理的主要内容,如果未能解决你的问题,请参考以下文章

JS 原型链

JavaScript对象之原型链

Js系列之原型链(上)

Js基础知识 - 原型链与继承精彩的讲解

JS中的constructorprototype__proto__的要点理解

JS 原型与原型链以及new的执行过程