1、原型继承(prototype)
<script type="text/javascript">
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype.sayHello=function(){
alert("使用原型得到Name:"+this.name);
}
var per=new Person("马小倩",21);
per.sayHello(); //使用原型得到Name:马小倩
function Student(){}
Student.prototype=new Person("洪如彤");
var stu=new Student();
alert(stu.name);//洪如彤
alert(stu.age);//undefined,因为new的时候只传了name
Student.prototype.grade=5;
Student.prototype.intr=function(){
alert(this.grade);
}
stu.intr();//5
</script>
2、call,apply继承
<script type="text/javascript">
function Person(name,age,love){
this.name = name;
this.age = age;
this.love = love;
this.say = function say(){
alert("姓名:"+name+",年龄:"+age+",伴侣:"+love);
}
}
function student(name,age){
Person.call(this,name,age);
}
function teacher(name,love){
Person.apply(this,[name,love]);
// Person.apply(this,arguments);//跟上一句一样效果
}
//call与aplly的区别:call的参数是列表;apply参数是数组(arguments也可以)
var per = new Person("小明",25,"小红");
per.say();//姓名:小明 ,年龄:25,伴侣:小红
var stu = new student("李磊",18);
stu.say();//姓名:李磊 ,年龄:18,伴侣:undefined
var tea = new teacher("高老师","伴侣名字");
tea.say();//姓名:高老师 ,年龄:伴侣名字,伴侣:undefined。说明参数只和位置有关
</script>
3、构造函数继承
<script type="text/javascript">
function Parent(name){
this.name = name;
this.sayParent = function(){
alert("Parent:"+this.name);
}
}
function Child(name,age){
this.tempMethod = Parent;
this.tempMethod(name);
this.age = age;
this.sayChild = function(){
alert("Child:"+this.name+",age:"+this.age);
}
}
var parent = new Parent("大明");
parent.sayParent();//Parent:大明
var child = new Child("小明",25);
child.sayChild();//Child:小明,age:25
child.sayParent();//Parent:小明
</script>
有些代码摘自网上,只做部分修改。第一次写文章是一个好的开端,如果有错或建议,请留言
分享到:
相关推荐
js javascript zInherit 对象 继承
主要介绍了Javascript中对象继承的实现,需要的朋友可以参考下
JavaScript面向对象继承详解,js进阶高手必读,内含六部分
javaScript面向对象继承方法经典实现.docx
js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法
在JavaScript中继承是一个非常复杂的话题,比其他任何面向对象的语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。与它们不同,在JavaScript中要想达到传承公用成员的目的,...
我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。
javascript创建对象、对象继承的有用方式详解_.docx
Fiber.js 是来自 Linkedin 的一个轻量级的 JavaScript 对象继承模型。示例代码:// Animal base class var Animal = Fiber.extend(function() { return { // The `init` method serves as the ...
NULL 博文链接:https://wenzongliang.iteye.com/blog/2163551
Javascript面向对象与继承
JS面向对象经典案例,JS面向对象过程中用到的一些技术,例如对象、类、JS继承Call、JS原型链Prototype、JS闭包等等
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
2.JAVASCRIPT中对象的层次与继承整理.pdf
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
JavaScript一种没有类的,面向对象的语言,它使用原型继承来代替类继承。这个可能对受过传统的面向对象语言(如C++和Java)训练的程序员来说有点迷惑。JavaScript的原型继承比类继承有更强大的表现力,现在就让我们...
浅谈JavaScript对象与继承_.docx
JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht
本文实例讲述了js对象继承之原型链继承的用法。分享给大家供大家参考。具体分析如下: 代码如下:[removed] //定义猫的对象 var kitty = {color:’yellow’,bark:function(){alert(‘喵喵’);},climb:...