欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS遍歷數(shù)組和對(duì)象的區(qū)別及遞歸遍歷對(duì)象、數(shù)組、屬性的方法詳解

 更新時(shí)間:2016年06月14日 15:59:03   作者:yun007  
本文給大家js遍歷數(shù)組和遍歷對(duì)象的區(qū)別,一般來(lái)說(shuō)for用來(lái)遍歷數(shù)組對(duì)象而for-in用來(lái)遍歷非數(shù)組對(duì)象。接下來(lái)小編給大家?guī)?lái)了js遍歷數(shù)組和對(duì)象的區(qū)別及js遞歸遍歷對(duì)象、數(shù)組、屬性的方法詳解,一起看下吧

廢話不多說(shuō)了,直奔主題,你,具體代碼如下所示:

<script>
 //----------------for用來(lái)遍歷數(shù)組對(duì)象--
 var i,myArr = [1,2,3];
 for (var i = 0; i < myArr.length; i++) {
  console.log(i+":"+myArr[i]);
 };
 //---------for-in 用來(lái)遍歷非數(shù)組對(duì)象
 var man ={hands:2,legs:2,heads:1};
 //為所有的對(duì)象添加clone方法,即給內(nèi)置原型(object,Array,function)增加原型屬性,該方法很強(qiáng)大,也很危險(xiǎn)
 if(typeof Object.prototype.clone ==="undefined"){
  Object.prototype.clone = function(){}; 
 }
 //
 for(var i in man){
  if (man.hasOwnProperty(i)) { //filter,只輸出man的私有屬性
   console.log(i,":",man[i]);
  };
 }
 //輸出結(jié)果為print hands:2,legs:2,heads:1
 for(var i in man) {//不使用過(guò)濾
  console.log(i,":",man[i]);
 } 
 //輸出結(jié)果為
 //hands : 2 index.html:20
 //legs : 2 index.html:20
 //heads : 1 index.html:20
 //clone : function (){} 
 for(var i in man) {
  if(Object.prototype.hasOwnProperty.call(man,i)) { //過(guò)濾
   console.log(i,":",man[i]);
  }
 } //輸出結(jié)果為print hands:2,legs:2,heads:1 </script>

接下來(lái)給大家介紹js 遞歸遍歷對(duì)象、數(shù)組、屬性

在前端工作時(shí),有時(shí)我們需要遍歷一些未知類型的對(duì)象。代碼如下:

//js遍歷對(duì)象
function TraversalObject(obj)
{
    for (var a in obj) {
        if (typeof (obj[a]) == "object") {
            TraversalObject(obj[a]); //遞歸遍歷
        }
        else {
            alert(a + "=" + obj[a]);//值就顯示
        }
    }
}

//遍歷對(duì)象中所有Ur的值
function TraversalObject(obj)
{
    for (var a in obj) {

        if(a=="Url")    alert(obj[a]);/ /顯示URL的值
        if (typeof (obj[a]) == "object") {
            TraversalObject(obj[a]); //遞歸遍歷
        }
    }
}

這種遍歷方法在對(duì)象不規(guī)則但需要獲取相同屬性時(shí)起到非常好的作用。

相關(guān)文章

最新評(píng)論