javascript

位置:IT落伍者 >> javascript >> 浏览文章

以一个最简单的例子把OO的JavaScript说明白


发布日期:2024年07月08日
 
以一个最简单的例子把OO的JavaScript说明白

OO的JavaScript并不高深麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦而且之间的说法还各有不同摆在一起就让人看了头大

这里重拾简单主义以一个最简单的例子把OO Javascript说明白

一个颇为精简的例子

//定义Circle类

function Circle(radius)

{

thisr = radius;

}

CirclePI = ;

Circleprototypearea = function( ) {return CirclePI * thisr * thisr;}

//使用Circle类

var c = new Circle();

alert(carea());

只需理解三个关键字:

第一个是function JS世界里类的定义用function 里面的内容是构造函数的内容

第二个是this指针 代表调用这个函数的对象

第三个是prototype 用它来定义成员函数 比较规范和保险

另外还可以写成这样:

function compute_area(){return CirclePI * thisr * thisr;}

Circleprototypearea=compute_area;

继承

//定义

function ChildCircle(radius)

{

thisbase=Circle;

thisbase(radius);

}

ChildCircleprototype=new Circle();

function Circle_max(ab)

{

if (ar > br) return a;

else return b;

}

ChildCirclemax = Circle_max;

//使用

vard = new ChildCircle();

var bigger = dmax(cd);

alert(biggerarea());

注意两点

定义继承关系 ChildCircleprototype=new Circle(); 其中是占位用的

调用父类构造函数

thisbase=Circle;

thisbase(radius);

var式定义

JS还支持一种var Circle={raidus:PI:}的形式就如CSS的定义

因此Circle还可以定义为

var newCircle=

{

r:

PI:

area: function(){ return thisPI * thisr * thisr;}

};

alert(newCirclearea());

BTW吃饱了撑着可以看看Rails带的OO Javascript库Prototype

上一篇:JavaScript网页验证函数(使用正则表达式)

下一篇:使用Javascript制作连续滚动字幕