for of 循环
-
支持
break
,continue
等结束循环-
如下:只会输出
apple
,并非报错for (let fruit of fruits) {
if (fruit === 'orange'){
break
}
console.log(fruit)
}
-
-
得到的是数组中的属性值,而非属性
-
如下,得到的是
‘apple’,‘orange’,‘watermelon’
;而非0,1,2
var fruits = ['apple', 'orange', 'watermelon'];
for (let fruit of fruits) {
console.log(fruit)
} -
-
不会循环数字属性之外的值
-
如下:数组中的函数不会被循环输出
fruits.eat = function () {
console.log('I like watermelon')
};
-
for of 循环遍历接口数组
-
通过
for of
循环遍历fruits.entries()
,即循环遍历接口数组,可以同时得到索引值和属性值-
正好通过数组解构赋值分别拿到索引值和属性值
for (let [index, fruit] of fruits.entries()) {
console.log(`${fruit} ranks ${index + 1} in my favorite fruits`)
} -
for of 循环遍历各数据类型
遍历函数参数类数组对象--arguments
function sum() {
var total = 0;
for (let item of arguments) {
total += item
}
console.log(total);
return total;
}
sum(10,20,30);
遍历字符串
let str = 'Ashen';
for (let char of str) {
console.log(char)
}
遍历DOM对象数组--NodeList
var lis = document.getElementsByTagName('li');
for (let li of lis) {
li.style.color = 'red'
}