美文网首页
js对象的三种继承方式

js对象的三种继承方式

作者: 郭子祥 | 来源:发表于2017-09-18 19:26 被阅读0次

js对象的三种继承方式
转载 2017年06月23日 15:07:56 13300
一,js中对象继承对象的
js中有三种继承方式
1.js原型(prototype)实现继承
复制代码 代码如下:

<SPAN style="BACKGROUND-COLOR: #ffffff"><SPAN style="FONT-SIZE: 18px"><html>
<body>
<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("洪如彤",21);  
var stu=new Student();  
Student.prototype.grade=5;  
Student.prototype.intr=function(){  
    alert(this.grade);  
}  
stu.sayHello();//输出:使用原型得到Name:洪如彤  
stu.intr();//输出:5  

</script>
</body>
</html></SPAN></SPAN>

2.构造函数实现继承
复制代码 代码如下:

<SPAN style="FONT-SIZE: 18px"><html>
<body>
<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("李鸣",24); //输出:“Child:李鸣 age:24”  
child.sayChild();  

</script>
</body>
</html></SPAN>

3.call , apply实现继承
复制代码 代码如下:

<SPAN style="FONT-SIZE: 18px"><html>
<body>
<script type="text/javascript">
function Person(name,age,love){
this.name=name;
this.age=age;
this.love=love;
this.say=function say(){
alert("姓名:"+name);
}
}

//call方式  
function student(name,age){  
    Person.call(this,name,age);  
}  


//apply方式  
function teacher(name,love){  
    Person.apply(this,[name,love]);  
    //Person.apply(this,arguments); //跟上句一样的效果,arguments  
}  


//call与aplly的异同:  
//1,第一个参数this都一样,指当前对象  
//2,第二个参数不一样:call的是一个个的参数列表;apply的是一个数组(arguments也可以)  


var per=new Person("武凤楼",25,"魏荧屏"); //输出:“武凤楼”  
per.say();  
var stu=new student("曹玉",18);//输出:“曹玉”  
stu.say();  
var tea=new teacher("秦杰",16);//输出:“秦杰”  
tea.say();  

</script>
</body>
</html></SPAN>

相关文章

  • js对象的三种继承方式

    js对象的三种继承方式转载 2017年06月23日 15:07:56 13300一,js中对象继承对象的js中有三...

  • JS对象和继承

    JS 对象创建的三种方式 字面量创建方式 系统内置构造函数方式 自定义构造函数 继承方式 for in 继承 原型...

  • JS中继承的方式

    讨论三种常用的继承方式: 组合继承 原型新对象继承 3 . 寄生继承

  • 面向对象五

    面向对象高级二 总结 PHP 里的面向对象、继承方式 JS 里的继承方式 call(构造函数伪装) 和 proto...

  • js对象的继承方式

    es6的继承方式 原型链继承方式 实例继承 此类继承方式比较简单直接 把 new的 对象直接付给新的变量就是可以了...

  • JavaScript 继承

    继承是JS中非常内容,原因就是JS没有地道的继承方式,我们只能通过各种方式来模拟面向对象中的继承。下面介绍几种常见...

  • #js继承

    js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承)类式继承(构造函数间的继承) 类式继承是...

  • JavaScript 10

    js继承的概念 1.通过原型链方式实现继承(对象间的继承) 2.类式继承(构造函数间的继承) 由于js不像Java...

  • JS继承的实现的几种方式

    前言 JS作为面向对象的弱类型语言,继承也是非常强大的特性之一,那么如何在JS实现继承呢? JS继承的实现方式 既...

  • 对象的继承

    JS 作为面向对象的弱类型的语言,继承是它非常强大的特征之一 JS继承实现的方式: 1.原型链继承2.构造函数继承...

网友评论

      本文标题:js对象的三种继承方式

      本文链接:https://www.haomeiwen.com/subject/ahobsxtx.html