JavaScript面向对象编程之属性与方法

1.类属性和类方法
类属性用来记录该类的某个性质而与具体的实例无关,无论声明多少它的实例,该属性仅此一个。
类属性的访问方式是通过类本身来访问的,例: Number. MAX_VALUE
Number为类名, MAX_VALUE为该类的一个类属性。类属性实质是一个全局变量。在JavaScript中定义类属性是通过构造函数本身声明属性,例:Circle.pi=3.14;
类方法同样与类本身有联系的方法,它是通过类来调用的。由于类方法不是通过某上实例调用的,因此类方法中不能使用 this关键字。
function  CircleClass(radius)
{
    
this.r = radius; //r是定义在构造函数中的实例属性
}

// PI是类属性,应该说它是构造函数这一对象的属性
CircleClass.PI  =   3.14159 ;
// 计算圆面积函数,由于使用this关键字,它只能通过实例调用
function  Circle_area() {
    
return CircleClass.PI*this.r*this.r;
}

// 通过赋值给CircleClass的原型对象的area属性,实现该实例函数
CircleClass.prototype.area  =  Circle_area;
// 比较两个圆半径的长短,返回较大圆的函数
function  Circle_max(a,b) {
    
if(a.r > b.r)
        
return a;
    
else
        
return b;    
}

// 该函数显然不应该是通过某一实例调用的实例函数,应定义为类函数
CircleClass.max  =  Circle_max;
var  c  =   new  CircleClass( 1.0 );
c.r 
=   1 ;
document.write(
" c.r= "   +  c.r  +   " <br/> " );
var  a  =  c.area();
document.write(
" a= "   +  a  +   " <br/> " );
var  x  =  Math.exp(CircleClass.PI);
document.write(
" x= "   +  x  +   " <br/> " );
var  d  =   new  CircleClass( 1.2 );
var  bigger  =  CircleClass.max(c,d);
document.write(
" bigger.r= "   +  bigger.r  +   " <br/> " );

访问对象的属性是通过操作符“ .”,另一方法是用“ [ ]”将对象作为联合数组来使用。
例:object .proterty 或object [property ] 都是合法的,但object ."pro"+"perty" 和 object  ["pro"+"perty" ] 只有后者才可以。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值