6.4 for of循环
【1】功能:可以遍历数字下标的数组或类数组对象
【2】优点:与es6中的箭头函数,很简化
缺点:无法用于遍历类数组对象
【3】使用:只要是遍历数组下标的,都可以for of替换普通for循环和forEach循环
【4】原理
for(var 变量 of 索引数组/类数组对象){
//of会依次取出数组或类数组对象中每个属性值
//自动保存of前的变量中
}
【5】存在的问题
i:无法获得下标位置i,只能获得元素值
ii:无法控制遍历的顺序或步调
【6】四个循环的比较
下标方式 | 类型 | 普通for | forEach | for of | for in |
---|---|---|---|---|---|
数字下标 | 索引数组 | √ | √ | √ | × |
数字下标 | 类数组对象 | √ | × | √ | × |
自定义下标 | 关联数组 | × | × | × | √ |
自定义下标 | 对象 | × | × | × | √ |
【7】示例
var arr=["spp","gmj","fyq","xyk"];
for(var key of arr){
console.log(`${key}-到!`)
}
var add=function(){
var res=0;
for(var n of arguments){
res+=n;
}
console.log(res);
}
add(1,2,3,4);
add(1,2,3,4,5);