suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Informationen zur Erstellungsvererbung von Object.create()

Das Folgende ist der Code

function A(){
  this.a = 1;
  this.b = 2;
}
A.prototype.drive = function(){
  console.log('drivvvvvvvvvv');
}
//方式1
function B(){}
B.prototype = Object.create(new A()); //这里采用了new 一个实例
//方式2
function C(){
  A.call(this);
}
C.prototype = Object.create(A.prototype) //这里使用的是父类的原型

Könnten Sie mir bitte sagen, was der Unterschied zwischen den beiden oben genannten Methoden ist? Warum verwendet mdn meiner Meinung nach die zweite?

滿天的星座滿天的星座2754 Tage vor537

Antworte allen(2)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:17:44

    1的缺点:

    1. 执行了 new,相当于运行了一遍 A ,如果在 A 里做了一些其它事情(如改变全局变量)就会有副作用。

    2. 用 A 创建的对象做原型,里面可能会有一些冗余的属性。

    2模拟了 new 的执行过程

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:17:44

    更长一些

    Antwort
    0
  • StornierenAntwort