码迷,mamicode.com
首页 > 编程语言 > 详细

javascript继承的实现方式介绍

时间:2015-12-29 06:17:07      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

javascript继承的实现方式介绍:
作为面向对象的一门语言,继承自然是javascript所比不可少的特性,下面就简单介绍一下javascript实现继承的几种方式,希望能够对需要的朋友带来一定的帮助,下面进入正题。
一.对象冒充:

 

function A()
{
  this.name="蚂蚁部落";
  this.address="青岛市南区";
}
function B()
{
  this.target="提供免费的教程";
  this.newA=A;
  this.newA();
  delete this.newA;
}
var oB=new B();
document.write(oB.name);

 

先看一段代码实例:以上代码代码可以输出"蚂蚁部落",这说明A中的属性已经被B继承,下面简单介绍一下实现原理。
构造函数也可以当做普通的函数使用,所以在构造函数B中调用函数A()可以将A中使用this定义的属性全都集成到B中去,这样就简单的实现了我们需要的继承。关于this的用法可以参阅JavaScript的this用法详解一章节。
二.使用call()和appy()函数:
使用call()方法和appy()函数也可以实现继承效果,代码如下:

 

function A()
{
  this.name="蚂蚁部落";
  this.address="青岛市南区";
}
function B()
{
  this.target="提供免费的教程";
  this.newA=A;
  this.newA();
  delete this.newA;
}
var oB=new B();
A.call(oB);
document.write(oB.name);

 

以上代码利用call函数同样实现了继承效果,这里就不多介绍了,具体可以参阅javascript的call()和apply()的作用和区别一章节。
三.原型链方式:
javascript的继承是基于原型的,Prototype对象的任何属性和方法都被传递给那个类的所有实例,通过原型一层层的继承于是就形成了一个原型链,代码实例如下:

 

function A(){}
A.prototype.name="蚂蚁部落"; 
A.prototype.address="青岛市南区";
function B(){ 
} 
B.prototype=new A(); 
var oB=new B();
document.write(oB.name);

 

以上代码通过原型链方式同样实现了继承。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=8503

更多内容可以参阅:http://www.softwhy.com/javascript/

 

javascript继承的实现方式介绍

标签:

原文地址:http://www.cnblogs.com/zhadanren/p/5084513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!