js里 for of 和 for in的区别分析

for of 不能遍历对象,for in 可以

对比两段对象的遍历代码

for in

let b = {m: 1,n: 2,p: 3,q: 4}

for (let i in b) {
  if (i == "p") {
    break
  }
  console.log(i,b[i]);
}

运行结果为:

m 1
n 2

for of

let b = {m: 1,n: 2,p: 3,q: 4}

for (let i of b) {
  if (i == "3") {
    break
  }
  console.log(i,b[i]);
}

运行则会报错


两者都可以遍历数组,for in 可以遍历出键和值,for of 只能遍历出值

对比两段数组的遍历代码

for in

let a = ['c', 'd', 'e', 'f']
for (let i in a) {
  if (i == 2) {
    break
  }
  console.log(i,a[i]);
}

运行结果为:

0 c
1 d

for of

let a = ['c', 'd', 'e', 'f']

for (let i of a) {
  if (i == "e") {
    break
  }
  console.log(i);
}

运行结果为

c
d
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容