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 相关文章推荐
JS代码格式化和语法着色V2
Oct 14 Javascript
jquery下操作HTML控件的实现代码
Jan 12 Javascript
js 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
JavaScript实现网页上的浮动广告的简单方法
Jun 14 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
Jquery给基本控件的取值、赋值示例
May 23 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
Oct 19 Javascript
jQuery实现的事件绑定功能基本示例
Oct 11 jQuery
记录vue项目中遇到的一点小问题
May 14 Javascript
vue使用element-ui实现表单验证
Dec 13 Vue.js
JavaScript模拟实现网易云轮播效果
Apr 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
十天学会php之第四天
2006/10/09 PHP
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
PHP学习 运算符与运算符优先级
2008/06/15 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
php自动加载代码实例详解
2021/02/26 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
Python实现把回车符\r\n转换成\n
2015/04/23 Python
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
利用python画出折线图
2018/07/26 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
Python中求对数方法总结
2020/03/10 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
几个Shell Script面试题
2014/04/18 面试题
毕业生如何写自荐信
2014/03/26 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
2014年教研组工作总结
2014/11/26 职场文书
公司人力资源管理制度
2015/08/05 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android