小编Iar*_*hev的帖子

A.prototype = B.prototype 和 A.prototype = new B() 有什么区别?

我正在学习 JavaScript,发现了两种分配原型的方法。

第一个是A.prototype = B.prototype,第二个是A.prototype = new B()

例如:

function A() {
  console.log("A!")
}

function B() {
  console.log("B!")
}

// First case
A.prototype = B.prototype;
a = new A();  // a instanceof A,B

// Second case
A.prototype = new B();
a = new A();  // a instanceof A,B
Run Code Online (Sandbox Code Playgroud)
  1. 有什么区别以及更喜欢哪种方式?
  2. 还有其他方法来分配原型吗?

更新:

正如 Felix Kling 建议的那样,还有第三种分配原型的方法:

A.prototype = Object.create(B.prototype);
Run Code Online (Sandbox Code Playgroud)

javascript prototype new-operator

5
推荐指数
1
解决办法
1255
查看次数

标签 统计

javascript ×1

new-operator ×1

prototype ×1