for 和 for in 循环
-
因为数组的索引就可以获取数组中的内容
-
数组的索引又是按照
0 ~ n
顺序排列 -
我们就可以使用
for
循环来循环数组,因为for
循环我们也可以设置成0 ~ n
顺序增加 -
我们把这个行为叫做 遍历
var arr = [1, 2, 3, 4, 5]
// 使用 for 循环遍历数组
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
// 会在控制台依次打印出 1, 2, 3, 4, 5
-
i < arr.length
因为length
就是数组的长度,是一个数字,所以我们可以直接用它来决定循环次数
-
console.log(arr[i])
因为随着循环,i
的值会从 0 开始依次增加
-
- 所以我们实际上就相当于在打印
arr[0]
/arr[1]
/ …
- 所以我们实际上就相当于在打印
-
因为 对象 是没有索引的,所以我们没有办法使用
for
循环来遍历 -
这里我们使用
for in
循环来遍历对象 -
先来看一段代码
var obj = {
name: 'Jack',
age: 18
}
for (var key in obj) {
console.log(key)
}
// 会在控制台打印两次内容,分别是 name 和 age
-
for in
循环的遍历是按照对象中有多少成员来决定了
-
- 有多少成员,就会执行多少次
-
key
是我们自己定义的一个变量,就和for
循环的时候我们定义的i
一个道理
-
- 在每次循环的过程中,
key
就代表着对象中某一个成员的 属性名
- 在每次循环的过程中,