1. 程式人生 > >JavaScript遍歷物件屬性和方法

JavaScript遍歷物件屬性和方法

JavaScript 使用 for in 語句來遍歷物件的屬性和方法。for in 語句迴圈遍歷 JavaScript 物件,每迴圈一次,都會取得物件的一個屬性或方法。

語法:
for(valueName  in  ObjectName){
    // 程式碼
}

其中,valueName 是變數名,儲存著屬性或方法的名稱,每次迴圈,valueName 的值都會改變。

【例5-1】遍歷zhangsan物件:

var zhangsan={}
zhangsan.name = "張三";
zhangsan.sex = "男";
zhangsan.say = function(){
        return "嗨!大家好,我來了。";
    }
zhangsan.contact = {
    tel : "029-81895644",
    qq : "1370753465",
    email : "
[email protected]
" } var strTem=""; // 臨時變數 for(value in zhangsan){    strTem+=value+':'+zhangsan[value]+"\n"; } alert(strTem);

【例5-2】給定任意一個字串,使用 for  in 語句來統計字元出現的個數:
function charNum(str){
    var charObj={}
    for(i=0,len=str.length;i<len;i++){
        if(charObj[str[i]]){
            charObj[str[i]]++;
        }else{
            charObj[str[i]]=1;
        }
    }
    var strTem="";  // 臨時變數
    for(value in charObj){
        strTem+='"'+value+'"的個數:'+charObj[value]+'\n';
    }
    return strTem;
}
charNum("http://www.itxueyuan.org");
charNum("134775444637722991919");
另外,for in 迴圈也可用來遍歷陣列的每個元素,與遍歷物件的用法一樣,後續章節將會講解。

額外一個例子:

function test()
{
    var obj ={};
    obj.element1 = "element one";
    obj.element2 = [1,2,3,4];
    obj.element3 = {name:"my name",age:"123"}

    var strTem="";  // 臨時變數
    for(elem in obj)
    {
       strTem+=elem':'+zhangsan[elem]+"\n";
    }
    alert(strTem);
}

原文:http://www.itxueyuan.org/view/6335.html