您的位置:首页 > Web前端 > JavaScript

js 遍历对象的属性的代码

2011-12-29 00:00 841 查看
如:
Function.prototype.addMethod=function(methodName,func){ 
if(!this.prototype[methodName]){ 
this.prototype[methodName]=func;//给原型增加方法,此方法会影响到该类型的实例上 
} 
return this.prototype;//返回原型,此类型实例可以进行链形调用 
} 
function CustomObject(name,value){ 
this.name=name || 'CustomeObject'; 
this.value=value || 0; 
this.toString=function(){ 
return '[name:'+this.name+',value:'+this.value+']' 
} 
} 
CustomObject.addMethod('testFun',function(){}) 
var obj=new CustomObject(); 
var info=''; 
for(var property in obj){ 
info+=property+" | "; 
} 
alert(info); // name | value | toString | testFun |

但此时for in 也把该对象所继承于prototype对象中的属性也遍历出来了。如果要剔除它所继承的属性,可以用hasOwnProperty语句。如
Function.prototype.addMethod=function(methodName,func){ 
if(!this.prototype[methodName]){ 
this.prototype[methodName]=func;//给原型增加方法,此方法会影响到该类型的实例上 
} 
return this.prototype;//返回原型,此类型实例可以进行链形调用 
} 
function CustomObject(name,value){ 
this.name=name || 'CustomeObject'; 
this.value=value || 0; 
this.toString=function(){ 
return '[name:'+this.name+',value:'+this.value+']' 
} 
} 
CustomObject.addMethod('testFun',function(){}) 
var obj=new CustomObject(); 
var info=''; 
for(var property in obj){ 
if(!obj.hasOwnProperty(property)) continue; 
info+=property+" | "; 
} 
alert(info); // name | value | toString |
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: