JavaScript遍历对象属性和方法

时间:2022-08-25 13:01:56
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 : "itxueyuan@gmail.com"
}
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