国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

for in 循環遍歷對象時需要注意的事項

zlyBear / 3528人閱讀

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

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

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

var obj={"name":"wjy","age":26,"sex":"female"};//定義一個object對象  
var keys=[];//定義一個數組用來接受key  
var values=[];//定義一個數組用來接受value  
  for(var key in obj){  
    keys.push(key);  
    values.push(obj[key]);//取得value   
    console.log(eval("obj."+key));//循環內逐一打印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 循環遍歷對象的屬性時,原型鏈上的所有屬性都將被訪問。例如我們給Object.prototype添加一個bar屬性,那么在for in 循環的時候,就會把這屬性給循環出來:

Object.prototype.bar = 10;// 修改Object.prototype  
var obj={"name":"wjy","age":26,"sex":"female"};//定義一個object對象    
var keys=[];//定義一個數組用來接受key    
var values=[];//定義一個數組用來接受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)避免原型對象擴展對循環對象時帶來的干擾
推薦總是使用 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  

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94199.html

相關文章

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

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

    scola666 評論0 收藏0
  • 我喜歡JavaScript編程風格

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

    王巖威 評論0 收藏0
  • python 學習筆記 1 for循環中常用函數

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

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

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

    Kerr1Gan 評論0 收藏0

發表評論

0條評論

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