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

 更新时间:2020年02月19日 12:18:11   作者:jadeshu  
这篇文章主要介绍了JS继承定义与使用方法,结合完整实例形式分析了JavaScript继承的基本定义、用法及操作注意事项,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 原生JS实现分享侧边栏

    原生JS实现分享侧边栏

    这篇文章主要为大家详细介绍了原生JS实现分享侧边栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • JS实现简单网页倒计时器

    JS实现简单网页倒计时器

    这篇文章主要为大家详细介绍了JS实现简单网页倒计时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • js判断对象是否拥有某个key的两种方法对比

    js判断对象是否拥有某个key的两种方法对比

    JS中数组和对象是等同的,我们经常遇到需要判断一个key是否存在于对象中的情况,这篇文章主要给大家介绍了关于如何利用js判断对象是否拥有某个key的两种方法对比,需要的朋友可以参考下
    2023-12-12
  • js中Image对象以及对其预加载处理示例

    js中Image对象以及对其预加载处理示例

    现在的网页中经常会有一些图像连接,当鼠标指向它的时候,图像换成另外一幅图像,它们都是先预读图像的,下面也有个不错的实例,感兴趣的朋友可以参考下
    2013-11-11
  • Javascript removeChild()删除节点及删除子节点的方法

    Javascript removeChild()删除节点及删除子节点的方法

    这篇文章主要介绍了Javascript removeChild()删除节点及删除子节点的方法的相关资料,需要的朋友可以参考下
    2015-12-12
  • Javascript中innerHTML用法实例分析

    Javascript中innerHTML用法实例分析

    这篇文章主要介绍了Javascript中innerHTML用法,实例分析了实用innerHTML获取对应元素内容的使用技巧,需要的朋友可以参考下
    2015-01-01
  • 小程序实现可拖动的悬浮按钮

    小程序实现可拖动的悬浮按钮

    这篇文章主要为大家详细介绍了小程序实现可拖动的悬浮按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 利用Vconsole和Fillder进行移动端抓包调试方法

    利用Vconsole和Fillder进行移动端抓包调试方法

    这篇文章主要介绍了利用Vconsole和Fillder进行移动端抓包调试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 如何在JavaScript中比较日期详解

    如何在JavaScript中比较日期详解

    我们在日常开发过程中经常会用到JavaScript语言在前端代码中,进行日期的选择,下面这篇文章主要给大家介绍了关于如何在JavaScript中比较日期的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • 写给小白看的JavaScript异步

    写给小白看的JavaScript异步

    写给小白看的JavaScript异步,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论