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 相关文章推荐
JavaScript 继承详解(一)
Jul 13 Javascript
用jquery统计子菜单的条数示例代码
Oct 18 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
AngularJS使用ngMessages进行表单验证
Dec 27 Javascript
setTimeout学习小结
Feb 08 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
vue计算属性computed的使用方法示例
Mar 13 Javascript
原生js实现轮播图特效
May 04 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
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
js数组去重的hash方法
2016/12/22 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
Python3中的2to3转换工具使用示例
2015/06/12 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Unicode和Python的中文处理
2017/03/19 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
python的exec、eval使用分析
2017/12/11 Python
Python常见数字运算操作实例小结
2019/03/22 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
小摄影师教学反思
2014/04/27 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
中职招生先进个人材料
2014/08/31 职场文书
元旦标语大全
2014/10/09 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
Java中的随机数Random
2022/03/17 Java/Android
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技