您的位置:首页 > Web前端 > JavaScript

详解javascript类继承机制的原理

2010-08-27 11:53 204 查看
本文着重解析javascript类继承机制,让你从底层了解javascript是
怎样实现“继承”这一概念的。

                                                               
jimichan在javaeye博客发布,转载请说明。

   目前
javascript的实现继承方式并不是通过“extend”关键字来实现的,
而是通过

constructor
function和prototype属性来实现继承。首先我们创建一个animal



js 代码

 
 
var

animal = 
function
(){  
//这就是constructor function 了
 

   this
.name = 'pipi';    

   this
.age = 10;      

   this
.height = 0;      

}      

 //建立一个动物的实例  
  

 var
 a1 =  
new
 animal ();   

构造函数与其他普通函数区别在于,1.构造函数里有
this关键字,2.调用构造函数是使用的new关键字。通过new运算符调用构造函数
animal
后,系统就会返回一个对象,这个对象就相当于

js 代码

var
 a1 = { name:'pipi' ,age:10,height:0 }  

  

//或者
  

var
 a1 = 
new
 Object();  

a1.name='pipi';  

a1.age = 10;  

a1.height = 0; 

等同这样的方式来产生js对象。

到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat

js 代码

 
var
 cat = 
function
(){    

this
.play = 
function
(){     

 alert('cat play')    

 }    

 }    

 cat .prototype = new
 animal ();    

 //prototype 属性指向一个对象 

var c1 = new cat();

到这里,cat就继承了

animal 对象,类cat的一个实例对象c1拥有属性name,age,height,和方法play了。

转自:http://jimichan.javaeye.com/blog/119815
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息