js的三种继承方式详解


Posted in Javascript onJanuary 21, 2017

1.js原型(prototype)实现继承

代码如下

<body> 
<script type="text/javascript"> 
 function Parent(name,age){
   this.name=name;
   this.age=age;
   this.sayHi=function(){
    alert("Hi, my name is "+this.name+", my age is "+this.age);
   }
  }
//Child继承Parent
  function Child(grade){
   this.grade=grade;
   this.sayGrade=function(){
    alert("My grade is "+this.grade);
   }
  }
  Child.prototype=new Parent("小明","10");/////////// 
  var chi=new Child("5");
  chi.sayHi();
  chi.sayGrade();
</script> 
</body>

2.构造函数实现继承 

代码如下:

<body> 
<script type="text/javascript"> 
 function Parent(name,age){
   this.name=name;
   this.age=age;
   this.sayHi=function(){
    alert("Hi, my name is "+this.name+", my age is "+this.age);
   }
  }
//Child继承Parent 
  function Child(name,age,grade){
   this.grade=grade;
   this.sayHi=Parent;///////////
   this.sayHi(name,age);
   this.sayGrade=function(){
    alert("My grade is "+this.grade);
   }
  }
  var chi=new Child("小明","10","5");
  chi.sayHi();
  chi.sayGrade();
</script> 
</body>

3.call , apply实现继承         -----很方便!

代码如下:

<body> 
<script type="text/javascript"> 
 function Parent(name,age){
   this.name=name;
   this.age=age;
   this.sayHi=function(){
    alert("Hi, my name is "+this.name+", my age is "+this.age);
   }
  }
  function Child(name,age,grade){
   this.grade=grade;
   // Parent.call(this,name,age);/////////// 
   // Parent.apply(this,[name,age]);/////////// 都可
   Parent.apply(this,arguments);/////////// 
   this.sayGrade=function(){
    alert("My grade is "+this.grade);
   }
  // this.sayHi=function(){
   //  alert("Hi, my name is "+this.name+", my age is "+this.age+",My grade is "+this.grade);
   // }
  }
  var chi=new Child("小明","10","5");
  chi.sayHi();
  chi.sayGrade();
</script> 
</body>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
如何使用Javascript正则表达式来格式化XML内容
Jul 04 Javascript
JavaScript将字符串转换成字符编码列表的方法
Mar 19 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
jQuery实现的简单提示信息插件
Dec 08 Javascript
JS面向对象编程详解
Mar 06 Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
react native带索引的城市列表组件的实例代码
Aug 08 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 Javascript
10分钟学会js处理json的常用方法
Dec 06 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 #Javascript
微信小程序 自定义对话框实例详解
Jan 20 #Javascript
Vue实例简单方法介绍
Jan 20 #Javascript
微信小程序 Toast自定义实例详解
Jan 20 #Javascript
JavaScript判断浏览器及其版本信息
Jan 20 #Javascript
JS中传递参数的几种不同方法比较
Jan 20 #Javascript
JS出现失效的情况总结
Jan 20 #Javascript
You might like
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
两个php日期控制类实例
2014/12/09 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
对numpy.append()里的axis的用法详解
2018/06/28 Python
带你认识Django
2019/01/15 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
python能做哪些生活有趣的事情
2020/09/09 Python
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
教师个人读书活动总结
2014/07/08 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
工程部部长岗位职责
2015/02/12 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
入党转正申请书范文
2019/05/20 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
python实现简易自习室座位预约系统
2021/06/30 Python