成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

for in 循環(huán)遍歷對象時需要注意的事項

zlyBear / 3537人閱讀

摘要:沒有在中添加屬性定義一個對象定義一個數(shù)組用來接受定義一個數(shù)組用來接受取得循環(huán)內(nèi)逐一打印值在中添加屬性使用循環(huán)遍歷對象的屬性時,原型鏈上的所有屬性都將被訪問。

在使用for in循環(huán)時,返回的是所有能夠通過對象訪問的、可枚舉的屬性,其中既包括存在于實例中的屬性,也包括存在于原型中的屬性。

(1)沒有在Object.prototype中添加屬性

var obj={"name":"wjy","age":26,"sex":"female"};//定義一個object對象  
var keys=[];//定義一個數(shù)組用來接受key  
var values=[];//定義一個數(shù)組用來接受value  
  for(var key in obj){  
    keys.push(key);  
    values.push(obj[key]);//取得value   
    console.log(eval("obj."+key));//循環(huán)內(nèi)逐一打印value值  
  }  
console.log(obj.name);//wjy  
console.log("keys is :"+keys+" and values is :"+values);  
//keys is : name,age,sex and values is : wjy,26,female   

(2)在Object.prototype中添加屬性
使用 for in 循環(huán)遍歷對象的屬性時,原型鏈上的所有屬性都將被訪問。例如我們給Object.prototype添加一個bar屬性,那么在for in 循環(huán)的時候,就會把這屬性給循環(huán)出來:

Object.prototype.bar = 10;// 修改Object.prototype  
var obj={"name":"wjy","age":26,"sex":"female"};//定義一個object對象    
var keys=[];//定義一個數(shù)組用來接受key    
var values=[];//定義一個數(shù)組用來接受value    
  for(var key in obj){    
    keys.push(key);    
    values.push(obj[key]);//取得value      
  }    
console.log("keys is :"+keys+" and values is :"+values);   
//keys is : name,age,sex,bar and values is : wjy,26,female,10   

(3)避免原型對象擴展對循環(huán)對象時帶來的干擾
推薦總是使用 hasOwnProperty 方法,這將會避免原型對象擴展帶來的干擾:

function allpro(obj){  
    var keys=[];   
    var values=[];    
    for(var key in obj){   
        //只遍歷對象自身的屬性,而不包含繼承于原型鏈上的屬性。  
        if (obj.hasOwnProperty(key) === true){  
            keys.push(key);    
            values.push(obj[key]);   
        }                 
    }  
    console.log("keys is :"+keys+" and values is :"+values);    
}  
Object.prototype.bar = 1;// 修改Object.prototype  
var o={"name":"wjy","age":26,"sex":"female"};//定義一個object對象   
allpro(o);  
//keys is : name,age,sex and values is: wjy,26,female  

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94199.html

相關(guān)文章

  • Java編程基礎(chǔ)17——集合(List集合)

    1_(去除ArrayList中重復(fù)字符串元素方式)* A:案例演示 需求:ArrayList去除集合中字符串的重復(fù)值(字符串的內(nèi)容相同) 思路:創(chuàng)建新集合方式 import java.util.ArrayList; import java.util.Iterator; public class ArrayList_1_demo { /* 創(chuàng)建新集合將重復(fù)元素去掉 * 1.明...

    scola666 評論0 收藏0
  • 我喜歡JavaScript編程風(fēng)格

    摘要:如果團隊成員文件合并,可能會讓團隊其他成員的代碼報錯推薦函數(shù)內(nèi)部,即布局作用域內(nèi)使用相等兩個等號判斷相等,容易出現(xiàn)強制類型轉(zhuǎn)換推薦使用三個等于號用來判斷相等原始包裝類型避免使用參考資料編寫可維護的 本文為《編寫可維護的JavaScript》讀書筆記 1、變量 變量名遵守駝峰大小寫命名法 命名前綴可為名詞,這樣可與函數(shù)名區(qū)分 常量利用大寫字母和下劃線(用來分隔單詞)來命名 所有變量聲明...

    王巖威 評論0 收藏0
  • python 學(xué)習(xí)筆記 1 for循環(huán)中常用函數(shù)

    摘要:與雖然只能生成整數(shù),但是當想生成小數(shù)的時候有兩種方式,調(diào)用第三方包。將生成的每個除以來生成對應(yīng)的小數(shù)。 0.前置說明 1.運行環(huán)境:Win7虛擬機、python2.7(anacoda版) 2.本文大部分內(nèi)容引用此參考文獻并極力推薦根據(jù)此人博客學(xué)習(xí)python:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html ...

    DC_er 評論0 收藏0
  • js常見基礎(chǔ)對象屬性方法(一)

    摘要:中雙感嘆號的作用一般用于將后面的表達式強制轉(zhuǎn)化為布爾類型。通過實現(xiàn)類式繼承繼承對象已經(jīng)原型對象屬性父類父類的方法子類調(diào)用父類的構(gòu)造函數(shù)。 js基礎(chǔ)對象屬性方法 Object.keys() Object.keys()方法會返回一個由一個給定對象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和使用 for...in 循環(huán)遍歷改對象時返回的順序一致(兩者的主要區(qū)別是一個for-in 循環(huán)...

    Kerr1Gan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<