WEB开发网
开发学院网页设计JavaScript javascript 学习笔记3-构造函数、类和原型 阅读

javascript 学习笔记3-构造函数、类和原型

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 在java的类中,确切地指定了字段,javascript 学习笔记3-构造函数、类和原型(5),及方法的同时,会有一个类方法名,而是引用构造函数自身,代码例子如下:Js代码functinnCircle(x,y,r){//这里的x,y,r都是实例属性this.x=x;this.y=y;this.r

在java的类中,确切地指定了字段,及方法的同时,会有一个类方法名,但是js不会有一个正式的类名,它只是通过构造函数和原型来模拟类。

Js和java的类都可以有多个对象,一个对象就是类的一个实例。

一个java类的类成员有实例属性、实例方法、类属性、类方法。下面分别来说明:

实例属性:

每个对象都拥有它的实例属性的一份拷贝,实例属性都是通过对象来访问。如:

r1.w

在Retangle类中,每个Retangle对象都有一个w属性指定了它的宽度。

默认情况下,js的任何对象属性都是一个实例属性。然而为了真实地模拟面象对象的类,我们说实例属性是由构造函数创建和初始化的属性。

实例方法:

实例方法在特定的对象上被调用。如:

r1.eara()

实例方法里通过this来引用调用它的对象。我们千万不要理解成实例方法是每个对象都有一份自己的私有拷贝,实例属性是每个对象都有有一份自己的私有拷贝,但实例方法却相反,这是每个对象所共享的。我们一般把实例方法放在构造函数的原型上来定义,通过这种方式,这样,通过这个构造函数实例化的对象都共享和继承了这个方法。

类属性:

类属性是与一个类自身相关的属性,而不是和这个类的每个实例相关的属性。类属性通过自身来调用。

不管创建了多少份这个类的实例,类属性只有一份。类属性本质上是全局的。

在js里,我们通过定义构造函数的自身的一个属性来定义类属性。

类方法:

类方法是与一个类自身相关,而不是与类的实例相关的方法。类方法通过自身来调用。

要定义一个类方法,只需要把这个相应的函数定义成为构造函数的一个属性就可以了。

类方法的this并不指向类的任何具体的实例,而是引用构造函数自身。

代码例子如下:

Js代码   

functinn Circle(x,y,r){ 
 //这里的x,y,r都是实例属性 
 this.x = x; 
 this.y = y; 
 this.r = r; 
} 
//这里的pi是类属性 
Circle.pi = 3.1415 
 
Circle.prototype={ 
 //area()方法是实例方法 
 area:function(){ 
 return Circle.pi * this.r*this.r 
 } 
} 
//max()方法是个类方法,传入a和b两个类实例进行比较,并征对某个具体的实例 
Circle.max = function(a,b){ 
 if(a.r>b.r) return a; 
 else return b; 
} 
 

编缉推荐阅读以下文章

  • javascript 学习笔记2-函数
  • javascript 学习笔记1-对象和数组

上一页  1 2 3 4 5 

Tags:javascript 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接