forEach()与each()方法的区别
forEach()为JavaScript(ES5)的方法,而each()方法是JQuery的方法。
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。 arr必须是一个真正的数组,当arr为伪数组则会报错
forEach()的回调函数有三个参数,index,value,arr,index为当前元素的索引值,value为当前元素,arr为当前数组。
var arr = ["你好","我好","大家好","才是","真的好"]; arr.forEach(function(value,index,arr) { // 输出为array数组的每一个元素 // 注意 value在前 console.log(value); });
each()方法分两种情况,$().each() 和 $.each()。
$.each() 可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值,方法会返回被遍历对象的第一参数。
var arr = ["gag","grt","rthr","afds","nttr","fWGW","afgd","cvd","awx"]; $.each(arr,function(index,value) { // 此时,each方法可以用于直接操作数组 // index在前 console.log(value); });
$(select).each() 主要专用于jquery对象的遍历
for in 不仅可以遍历对象自身的可枚举属性 还可以遍历 对象原型身上的属性
obj.keys() 只能遍历对象自身的可枚举属性。