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


Posted in Javascript onFebruary 19, 2020

本文实例讲述了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>

运行结果:

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

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

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

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

Javascript 相关文章推荐
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
js工具方法弹出蒙版
May 08 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 Javascript
jQuery实现点击小图显示大图代码分享
Aug 25 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 Javascript
JavaScript函数的调用以及参数传递
Oct 21 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
浅谈webpack+react多页面开发终极架构
Nov 11 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
Feb 19 #Javascript
vue中实现回车键登录功能
Feb 19 #Javascript
Vue中实现回车键切换焦点的方法
Feb 19 #Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 #Javascript
Vue常用的全选/反选的示例代码
Feb 19 #Javascript
详解node和ES6的模块导出与导入
Feb 19 #Javascript
JS实现分页导航效果
Feb 19 #Javascript
You might like
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python OS模块实例详解
2019/04/15 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
小学生节约用水倡议书
2014/05/15 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
师德标兵事迹材料
2014/12/19 职场文书
党员活动总结
2015/02/04 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android