javascript - JavaScript中如何继承变量?

标签 javascript

function Singer(g) {
  this.genre = g;
  this.rock = function() {
    console.log("ROCK");
  }
}

Singer.prototype.sing = function() {
  console.log(this.genre);
}

function metalSinger() {

}

metalSinger.prototype = Singer.prototype

var james = new metalSinger();
console.log(james.sing())

metalSinger对象仅继承了Singer对象的原型(prototype)函数。如何继承 Singer 的变量(this.genre)和函数(this.rock)?

最佳答案

您可以使用带有继承的类模式。

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance

function Singer(g) {
   this.genre = g;
   this.rock = function() {
   console.log("ROCK");
 }
}

Singer.prototype.sing = function() {
  console.log(this.genre);
}

function MetalSinger(g) {
  Singer.call(this, g);
}

var ms = new MetalSinger("foo");
console.log(ms.rock());

关于javascript - JavaScript中如何继承变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819484/

相关文章:

javascript - 计算倍数总和而不合并公共(public)值

javascript - 防止默认但激活链接

JavaScript - 模块模式 - 添加 div 的问题

Javascript 在客户端添加 Razor 标签,ASP.NET MVC

javascript - Jupyter Notebook 不包括 THREE.js

javascript - 如何将宽度设置为 td?

javascript - 使用 firebase 进行 javascript 注入(inject)攻击的风险

javascript - 通过Javascript获取链接的值

javascript - Ember.js - classNameBindings 正在删除从外部添加的类

javascript - 为什么有些网页都是用javascript渲染的?