Javascript面向对象详解(第一部分)
2010-09-14 13:43:56 来源:WEB开发网//生成随机数字函数
function rand(x){
return Math.ceil(Math.random()*x);
}
//生成随机数组的一个扩展方法
Array.prototype.random=function(){
for(var i=(this.length-1);i>1;i--){
var j=rand(this.length-1);
var cache=this[i];
this[i]=this[j];
this[j]=cache;
}
}
在上面的例子中,我们给数组元素添加了一个方法random(),它的作用就是随机打乱数组,在你的脚本中添加了这段语句之后,你就可以给任何的数组对象使用这个语句了,使用方法很简单,例如某个数组变量名叫做:myarr.你执行myarr.random()后,myarr数组的元素就被打乱顺序了,这样的扩展是不是很有用呢.
(5)对象的反射
反射是一种对象的机制,它允许你在完全不了解对象的情况下了解它的属性和方法,通常情况下,程序员对于自己所操纵的对象是如何组成的是非常了解的,但是在某些特殊情况下使用某个其他人写的复杂的对象的时候,我们需要快速了解这个对象的属性和方法,就需要用到反射的机制,当然反射的应用并不是局限于此,这里并不介绍它的应用领域,而只是介绍反射在Javascript中的使用方法.
首先我们可能想知道在某个对象中是否存在一个特定的属性或者方法,这时候我们可以简单地测试它:
if(myobject.someproperty){
……
}
这样可以简单测试,但是存在弊端,因为如果这个属性的返回值正好是 false,0,null,那么这样的测试将出现问题,更严谨的方式是这样的:
if(typeof(myobject.someproperty)!="undefined"){
……
}
Tags:Javascript 面向 对象
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接