JavaScript 遍历语法:
方法名 | 适用对象 |
---|---|
for循环 | 数组 |
forEach() | 数组 |
for…in | 数组、普通对象 |
for…of | 数组(ES6新增语法) |
1、for循环
for循环可以控制遍历的次数
var arr = [1,2,3,4,5,6,7,8,9];
for(var i=;i<7;i++){
//第二个语句:循环的控制条件
console.log(arr[i]);
}
2、forEach循环
forEach循环主要用于对数组的遍历,第一个参数表示当前元素的值,第二个参数表示当前元素的索引值
var arr = [1,2,3];
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
3、for…in循环
1> for…in循环主要用于遍历对象,也可以遍历数组,但是不推荐使用这个方法遍历数组
2> for…in遍历对象的属性时,原型链的属性也会被访问
3> 为了避免使用for…in循环时,访问原型链上的属性,我们通常会使用hasOwnProperty方法
var obj = {
a: 1,
b: 2
};
Object.prototype.c = 3;
for(var item in obj){
console.log(obj[item]);//输出结果为:1 2 3
}
------------------------
for(var key in obj){
if(obj.hasOwnProperty(key) === true){
console.log(obj[key]);//输出结果为:1 2
}
}
4、for…of (ES6新增语法)
用于遍历数组的值,不能够遍历普通对象(包含json对象)
var arr = [1,2,3];
for (var value of arr){
console.log(value);
}
//遍历普通对象时报错
var obj = {a:1,b:2};
var jsonObj = {"a":1,"b":2};
for(var value of obj){
//代码无法执行:Uncaught TypeError: obj is not iterable;json对象的遍历也是如下错误
console.log(value);
}