当前位置: 首页 > 编程笔记 >

JS继承定义与使用方法简单示例

芮星海
2023-03-14
本文向大家介绍JS继承定义与使用方法简单示例,包括了JS继承定义与使用方法简单示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JS继承定义与使用方法。分享给大家供大家参考,具体如下:

<script>
function Enemy() { 
  this.level = 50; 
  console.log("Enemy constructor"); 
}
Enemy.prototype.attack_play = function(){
  console.log("attack_play");
};
Enemy.prototype.wudiai = 100;
Enemy.wudiai = "1213";
Enemy.gongji = function(){
  console.log("gongji  asasasd "+ Enemy.wudiai);
}
function BossEnemy(){
  Enemy.call(this);
  console.log("Boss constructor");
}
// 写法1
// BossEnemy.prototype = {constructor: BossEnemy,};
// for(var i in Enemy.prototype){
//   BossEnemy.prototype[i] = Enemy.prototype[i];
// }
// 写法2
var a = function (){};
a.prototype = Enemy.prototype;
BossEnemy.prototype = new a();
BossEnemy.prototype.boss_attack = function(){
  console.log("boss_attack");
};
BossEnemy.staticFunc = function(){
  console.log("staticFunc called!");
};
var bos = new BossEnemy();
bos.boss_attack();
bos.attack_play();
BossEnemy.staticFunc();
console.log("==========================");
BossEnemy.prototype.attack_play = function(){
  Enemy.prototype.attack_play.call(this);
  console.log("BossEnemy attack play!");
}
bos.attack_play();
console.log("*****************************");
// 写法三 js6
class BingEnemy extends Enemy{
  constructor(){
    super();
    this.flag = true;
    this.name = "通天教主";
    this.level = 100;
  }
  static staticFunc(){
    console.log("static func called!");
  }
  get BingName(){
    return this.name;
  }
  set BingName(value){
    this.name = value;
  }
};
BingEnemy.haha ="123";
let bing = new BingEnemy();
console.log(bing);
BingEnemy.staticFunc();
bing.attack_play();
console.log(bing.BingName);
bing.BingName = "jade";
console.log(bing.BingName);
//console.log(BingEnemy.wudi);
console.log("============================");
</script>

运行结果:

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 我是一名新的Java开发人员,在Java中继承的概念定义我的类时遇到了一些困难。。。 在一方面,我有一个通用的类,名为车辆,它定义了几十年的属性(带有它们的getter/setters)。我有一个扩展车辆类的车辆1类。 另一方面,我有一个名为VehicleFactory的泛型类,它定义了一个静态方法,如下所示: 问题是我想创建一个Vehicle1Factory类,它有自己的makeResult方法

  • 本文向大家介绍JS原型与继承操作示例,包括了JS原型与继承操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS原型与继承操作。分享给大家供大家参考,具体如下: 这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试运行结果如下: 更多关于JavaScript相关内容还可查看本站专题:《javasc

  • 本文向大家介绍js简单设置与使用cookie的方法,包括了js简单设置与使用cookie的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js简单设置与使用cookie的方法。分享给大家供大家参考,具体如下: 一、js设置cookie的用处 php可以设置cookie的,用js来设置cookie有什么好处呢?在前端进行操作时,有的时候要传很多参数,这个时候,我们可以把这些参数拼接到ur

  • 问题内容: 为什么我的猫没有nlegs属性? 我们应该从内部显式调用,还是应该做更有趣的事情? 如果我想创建一条5条腿的猫该怎么办,是否需要向该接口添加其他参数? 问题答案: 要建立在其他人都说过的基础上,是的,您需要调用父方法。 通常最好使用super。但是,在某些情况下(尤其是当您从多个类继承时),这可能是一个大难题。我将避免赘述,不乏讨论它的各种文章。(此外,其他一些“特殊”功能也有一些奇怪

  • 本文向大家介绍js定义类的方法示例【ES5与ES6】,包括了js定义类的方法示例【ES5与ES6】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js定义类的方法。分享给大家供大家参考,具体如下: 以下是es5标准里定义类的方法: 运行结果: 上面这样用构造函数和原型混合的方法定义类,是为了每次new新实例时可以共享方法,不用创建function新实例。所以只有函数属性放在原型对象里定义,

  • 本文向大家介绍ABAP 继承-定义,包括了ABAP 继承-定义的使用技巧和注意事项,需要的朋友参考一下 示例 信息 继承使您可以从现有类派生新类。您可以使用的INHERITING FROM加法 从超类继承的CLASS子类DEFINITION 继承 。 声明。新的类子类继承了现有类超类的所有组件。新类称为派生类的子类。原始类称为新类的超类。一个类可以有多个直接子类,但可能只有一个直接超类。 类的实现