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

OO的JavaScript并不高深 麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦 而且之间的说法还各有不同 摆在一起就让人看了头大 这里重拾简单主义 以一个最简单的例子把OO Javascript说明白
一个颇为精简的例子
//定义Circle类function Circle(radius) { this r = radius;}Circle PI = ;Circle prototype area = function( ) {return Circle PI * this r * this r;}//使用Circle类var c = new Circle( ); alert(c area());
只需理解三个关键字:第一个是function JS世界里类的定义用 function 里面的内容是构造函数的内容
第二个是this指针 代表调用这个函数的对象
第三个是prototype 用它来定义成员函数 比较规范和保险另外还可以写成这样:function pute_area(){return Circle PI * this r * this r;}Circle prototype area=pute_area;
继承
//定义function ChildCircle(radius) { this base=Circle; this base(radius);}ChildCircle prototype=new Circle( );function Circle_max(a b){ if (a r > b r) return a; else return b;}ChildCircle max = Circle_max;
//使用var d = new ChildCircle( ); var bigger = d max(c d); alert(bigger area());
注意两点 定义继承关系 ChildCircle prototype=new Circle( ); 其中 是占位用的 调用父类构造函数 this base=Circle; this base(radius);
var式定义JS还支持一种var Circle={raidus: PI: }的形式 就如CSS的定义因此Circle还可以定义为
var newCircle={ r: PI: area: function(){ return this PI * this r * this r;}};alert(newCircle area());
lishixinzhi/Article/program/Java/JSP/201311/19777