请问for、for...in、for...of三者都能达到同样的效果,单独说for...of是有什么特殊原因吗?

来源:8-

kaman2016

2020-06-28

function muti (num) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(num * num)  
    }, 1000)
  })
}

const nums = [1, 2, 3]

// 同步遍历
// nums.forEach(async (i) => {
//   const res = await muti(i)
//   console.log(res)
// })


// 异步遍历
!(async function () {
  for (i of nums) {
    const res = await muti(i)
    console.log('for...of', res)
  }
})()

!(async function () {
  for (let i = 0; i < nums.length; i++) {
    const res = await muti(nums[i])
    console.log('for', res)
  }
})()

!(async function () {
  for (i in nums) {
    if (nums.hasOwnProperty(i)) {
      const res = await muti(nums[i])
      console.log('for...in', res)
    }
  }
})()
写回答

1回答

双越

2020-06-28

for...of 是一个新语法,所以面试考察会多一些。

像 for 循环、for...in 循环,早就有了。

1
1
kaman2016
? soga
2020-06-28
共1条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4701 学习 · 1682 问题

查看课程