语法:
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){另外,for in 循环也可用来遍历数组的每个元素,与遍历对象的用法一样,后续章节将会讲解。
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");
额外一个例子:
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