OO的JavaScript
来源:互联网 发布:淘宝店铺简介格式 编辑:程序博客网 时间:2024/05/02 04:22
1.一个颇为精简的例子
只需理解三个关键字:
第一个是function ,JS世界里Class的定义用"function",function里面的内容就是构造函数的内容。
第二个是this指针,代表调用这个函数的对象。
第三个是prototype,用它来定义成员函数, 比较规范和保险。
//定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area()
function Circle(radius)
{
this.r = radius;
}
Circle.PI = 3.14159;
Circle.prototype.area = function() {return Circle.PI * this.r * this.r;}
//使用Circle类
var c = new Circle(1.0);
alert(c.area());
另外成员函数定义还可以写成这样:
function compute_area(){return Circle.PI * this.r * this.r;}
Circle.prototype.area=compute_area;
2.继承
注意两点
1.定义继承关系 ChildCircle.prototype=new Circle(0); 其中0是占位用的
2.调用父类的构造函数
this.base=Circle;
this.base(radius);
//定义ChildCircle子类
function ChildCircle(radius)
{
this.base=Circle;
this.base(radius);
}
ChildCircle.prototype=new Circle(0);
function Circle_max(a,b)
{
if (a.r > b.r) return a;
else return b;
}
ChildCircle.max = Circle_max;
//使用ChildCircle子类
var c = new ChildCircle(1);
var d = new ChildCircle(2);
var bigger = d.max(c,d);
alert(bigger.area());
3.var式定义
JS还支持一种var Circle={raidus:1.0,PI:3.1415}的形式,语法就如CSS的定义。
因此如果Circle只有一个实例,下面的定义方式更简洁:
var newCircle=
{
r:1.0,
PI:3.1415,
area: function(){ return this.PI * this.r * this.r;}
};
alert(newCircle.area());
- [JavaScript]OO的Timer
- OO的JavaScript
- OO的JavaScript
- javascript的OO继承
- javascript 的 OO
- JavaScript的OO思想(一)
- JavaScript的OO思想(二)
- Javascript OO
- Javascript -- OO
- oo-javascript
- JavaScript-OO
- JavaScript的OO特性:静态方法
- JavaScript的OO特性:静态方法
- 一篇比较好的javascript-OO教程
- javascript oo object object
- JavaScript OO简单实例
- javascript oo object object
- [Javascript OO] 构造函数
- 新闻一条一条的滚动
- 解决IE的文本框无法输入任何字符的问题
- 情人节起源--传说
- 优化数据库前必须问自己的10个问题
- 可以拖动改变table列宽的sample
- OO的JavaScript
- Spring -- 简单使用quartz实现定时作业
- 拖动交换单元格内容
- 新的一年--鼠年
- 给自己的最爱。。。
- 用table实现的拖拽sample
- precreatewindow里面做了什么?
- 关于primary文件组已满的原因及解决方法总结
- Web应用的SSL优化处理 ,ssL加速器