javascript是一种脚本语言,但是它的强大之处不仅在于它的灵活性,还在与它具有面向对象的特性。
一、对象
在javascript中,对象是一种基本的数据结构。对象有自己的属性和方法。一般对象的属性用“对象名.属性名”来进行引用。而方法则可以作为任意一个对象的属性进行储存。其中分为实例属性(每一个类的实例都有一个该属性的副本),实例方法(与实例属性相同,每一个类的实例也都有该方法的副本),类属性(一个类的共有属性,类似于全局变量,用类名调用,例如NUMBER.MAX_VALUE),类方法(与类关联在一起的方法,用类名调用,例如Date.parse())。
二、类
与java和c#等纯正的面向对象语言相比,javascript不是以类为基础的。在javascript中,使用构造函数来模拟类的。
例如:
function compute_area()
{
return this.width*this.height;
}
var page=new Rectangle(8.5,11);
page.area=compute_area; //这个语句用来定义一个方法
javascript的继承机制是建立在对原型对象的继承的基础上的。
Circle.prototype.area=Circle_area; //这是定义实例方法
Circle.max=Circle_max ; //这是定义类方法
也就是说,类Object是最通用的类,所有类都继承了Object的基本方法。所有类都继承Object.prototype对象。所以上面的实例方法才这么定义。