JavaScript 函数原型对象
以下是一篇本人在Qzone里写下的文章,现在放到这里来,欠丑了。希望对一些初学者有一点点帮助。
今天给大家说说JavaScript中的类。类?没错。JavaScript中的函数原型对象就是OOP中人们熟悉的类。JS每建一个对象,就分别分配一分内存资源。对象越多效率就越低,为了解缺这种问题,JS创造了函数原型对象这个东东。其实函数原型对象,就好像OOP中类中的静态成员和静态方法。在加载类时只建一个实例。在其他对它实例化的对象都共用了同一个实例(静态成员,静态方法)。大大地节省了内存空间。提高了效率。现在说回JS中的函数原型对象吧!其实都是一样样的。看个例子你就知道了!
<html>
<head>
<title>函数原型对象</title>
</head>
<script language="javascript">
<!--
function Circle(x,y,r){
this.x = x; //圆心的X坐标
this.y = y; //圆心的Y坐标
this.r = r; //圆的半径
}
//创建并舍弃初始的Circle对象
//在JavaScript1.1中,这将创建原型对象,
new Circle(0,0,0);
//定义一个常量,即所有Circle对象共享的属性.
//事实上,我们只是使用了Math.PI,
//不过这样做只是为了满足本例的需要.
Circle.prototype.PI = 3.14159;
//定义一个计算圆周长的方法.
//首先声明一个函数,然后反它赋给原型对象的一个属性.
//注意上面定义的常量的用法
function circumference(){
return 2 * this.PI * this.r;
}
Circle.prototype.circumference = circumference;
//定义另一个方法,这次使用函数直接量来定义函数.
//并且只用一步就将它赋给原型对象的属性.
Circle.prototype.Area = function(){return this.PI * this.r * this.r;}
//Circle类已经定义了.
//现在我们可以创建一个实例并调用它的方法
var c = new Circle(0.0,0.0,1.0);
alert(c.Area());
alert(c.circumference());
//-->
</script>
<body>
</body>
</html>
以上就是函数原型对象的一个例子。差不多每句都加了注释了,不用我多说吧!
CopyRight(C) CAnca Software Office 2007.3.5
Created by CAnca.
版权所有,未经作者不得作任何修改。