1. for...in 用于对数组或者对象的属性的可枚举属性进行循环操作。注意该对象来自原型链上的可枚举属性也会被循环。下面看例子
var arr = ["lee","hello","zhangsan"];for(var i in arr) { console.log(arr[i]);//lee hello zhangsan}数组也是对象 也可以添加自己的属性 我们为arr添加一个name属性 arr.name = “安妮宝贝”
for(var i in arr) { console.log(arr[i]);//lee hello zhangsan 安妮宝贝} 那么怎么理解该对象来自原型链上的可枚举属性也会被循环?看下面的例子
var bar = {a:1,b:2,c:3};function foo() { this.color = "red";}foo.prototype = bar;var obj = new foo();for(var prop in obj){ console.log("o."+prop+"="+obj[prop])//o.color = red o.a = 1 o.b =2 o.c = 3 } 最后一个例子复制代码运行一下看看结果
<ul id="box">
<li class="child">1</li>
<li class="child">2</li>
<li class="child">3</li>
<li class="child">4</li>
</ul>
<script>
var ul = document.querySelector("#box");
var li = ul.querySelectorAll(".child");
for(var i in li) {
console.log(li[i]);
li[i].onclick = function() {
alert("hello")
}
}
</script>
2.forEach是ES5中操作数组的一种方法,主要功能是遍历数组直接看例子
var arr = ["zhangsan","lisi","wangwu"]; arr.name ="sdfsdfsdf"; arr.forEach(function(element){ console.log(element)// zhangsan lisi wangwu })
时间: 2024-08-03 20:58:18