在使用javascript过程中,想循环遍历一个数组,经常使用的语法有两种:
复制代码 代码如下:
for (var i; i < array.length; i++) {
statement;
}
for (var i in array) {
statement;
}
这两种用法看起来能做同样的事情,但实际上两个循环的循环次数一般是不一样的。
源码如下:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<style>
#button{text-align:center;}
#outer{width:330px; height:100px; margin:10px auto;}
#outer div{float:left;width:100px;height:100px;margin:0px 5px;background:black;}
</style>
<script>
window.onload = function() {
var obutton = document.getElementsByTagName("button")[0];
var outer = document.getElementById("outer");
var outerDiv = outer.getElementsByTagName("div");
obutton.onclick = function() {
for(var p in outerDiv) outerDiv[p].style.background = "red";
};
};
</script>
</head>
<body>
<div id="button">
<button>点击变红色</button>
</div>
<div id="outer">
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>
这段代码用了 for - in 语句做循环,看上去没有问题。
可是在浏览器调试的时候,会报错:
"Uncaught TypeError: Cannot set property 'background' of undefined"
为什么会这样呢?
如果我们把 stament 的内容改一下,就会发现问题了:
for(var p in outerDiv) alert(p);
结果输出是:0 1 2 length item
所以,当 property 取到 length 和 item 时,再试图用调用 style 方法,当然就 undefined 了。 修改如下:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<style>
#button{text-align:center;}
#outer{width:330px; height:100px; margin:10px auto;}
#outer div{float:left;width:100px;height:100px;margin:0px 5px;background:black;}
</style>
<script>
window.onload = function() {
var obutton = document.getElementsByTagName("button")[0];
var outer = document.getElementById("outer");
var outerDiv = outer.getElementsByTagName("div");
obutton.onclick = function() {
for (var i = 0; i < outerDiv.length; i++){
outerDiv[i].style.background = "red";
}
};
};
</script>
</head>
<body>
<div id="button">
<button>点击变红色</button>
</div>
<div id="outer">
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>
js,div,颜色
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 白嘉莉.2021-精选集【海山】【WAV+CUE】
- 欢乐钓鱼大师玛瑙金鳞怎么钓 欢乐钓鱼大师玛瑙金鳞钓鱼攻略
- 欢乐钓鱼大师樱飘雪怎么钓 欢乐钓鱼大师樱飘雪钓鱼攻略
- 欢乐钓鱼大师银翼的奇术师怎么钓 欢乐钓鱼大师银翼的奇术师钓鱼攻略
- 陈琳.1994-你的柔情我永远不懂[WAV]
- 邓瑞霞2006-广东风云2IN1[南方]2CD[WAV+CUE]
- 黄征-爱情诺曼底-2003-APE整轨
- 妥协只是暂时的!《对马岛之魂》PC版的多人模式仍需绑定PSN
- 开启抢先体验后 《盗贼之海》成PS美国第二畅销游戏
- 《恶意不息》老板再用中文询问中国玩家:对汉化是否满意
- 2个女生.2000-坚固友情精选辑【EMI百代】【WAV+CUE】
- 潘越云李丽芬吴楚楚.1981-三人展(滚石民歌巨星系列)【滚石】【WAV+CUE】.
- 元若蓝.2006-爱无限大【滚石】【WAV+CUE】
- 刘德华《经典传说·粤语精选集》[WAV/分轨][610MB]
- 庄心妍《2020年新专辑歌曲 念》[WAV/分轨][400MB]