这段javascript中for in 循环下面的语句为什么不执行?老是找不出原因,求各位帮忙看看。

for (var i in oLi) {
oLi[i].index = i;
oLi[i].onmouseover = function() {
for (var a in oLi) {
oLi[a].className = "";
}
this.className = "current";
// for (var n = 0; n < oUl.length; n++) {
for (var n in oUl) {
oUl[n].style.display = "none";
}
alert("这段代码不执行");//使用for循环可以成功执行。
}
}

代码如上,使用for-in循环时下面那条alert老是不执行,用for (var n = 0; n < oUl.length; n++)代替上面的for-in循环就可以执行。请问是为什么?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
for...in循环
</title>
</head>
<body>
<script language="javascript">
var shuxing={'user':"xxx",'age':'23','QQ':"392851032",'e_mail':"zhangxuezheng@qqcom"};
for(var a in shuxing){
document.write("属性:"+a+"="+shuxing[a]+"");
}
</script>
<body>
<html>
温馨提示:答案为网友推荐,仅供参考
相似回答