js 遍歷對象的屬性的代碼
更新時間:2011年12月29日 00:47:18 作者:
js 遍歷對象的屬性的代碼,遍歷出對象的屬性可以用for in語句使用方法
如:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
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;//給原型增加方法,此方法會影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
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 |
復(fù)制代碼 代碼如下:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
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語句。如
復(fù)制代碼 代碼如下:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
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 |
相關(guān)文章
一起來看看JavaScript數(shù)據(jù)類型最詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01基于前端實(shí)現(xiàn)版本更新自動檢測的流程步驟
在現(xiàn)代Web應(yīng)用中,為了提升用戶體驗(yàn)并確保系統(tǒng)的穩(wěn)定性和一致性,部署前端版本更新后及時提醒用戶進(jìn)行頁面刷新是至關(guān)重要的,所以本文給大家介紹了基于前端實(shí)現(xiàn)版本更新自動檢測的流程步驟,需要的朋友可以參考下2025-03-03JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法
這篇文章主要介紹了JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法,涉及javascript針對谷歌瀏覽器事件判定相關(guān)操作技巧,需要的朋友可以參考下2016-08-08Javascript 判斷兩個IP是否在同一網(wǎng)段實(shí)例代碼
javascript功能的強(qiáng)大之處是我們大家有目共睹的,幾天小編向大家介紹Javascript 判斷兩個IP是否在同一網(wǎng)段,感興趣的朋友可以參考一下2016-11-11微信小程序?qū)崿F(xiàn)側(cè)邊欄二級聯(lián)動
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊欄二級聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07