请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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)
    }
  }
})()

正在回答 回答被采纳积分+3

1回答

双越 2020-06-28 08:07:54

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

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

1 回复 有任何疑惑可以回复我~
  • 提问者 kaman2016 #1
    ?  soga
    回复 有任何疑惑可以回复我~ 2020-06-28 09:02:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信