美文网首页
js里 for of 和 for in的区别分析

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

作者: 写代码的猫叔 | 来源:发表于2019-10-13 00:27 被阅读0次

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

相关文章

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

    for of 不能遍历对象,for in 可以 对比两段对象的遍历代码 for in 运行结果为: for of ...

  • JS Related

    JS几种数组遍历方式以及性能分析对比 javascript中in和hasOwnProperty区别

  • require.js和sea.js的区别

    require.js和sea.js的区别 首先原理上的区别 sea.js遵循CMD规范.书写方式类似node.js...

  • 单引号和双引号

    JS中 js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和...

  • js复习

    1 数据类型 2 ===和==的区别, 3 js onload和DOMcontentloaded的区别 ...

  • js for in 和 for of的区别

    for in是ES5标准,遍历key(属性名),并且原型链上的所有属性也会被遍历。过滤原型链上的属性可以用hasO...

  • JS == 和===的区别

    强制类型转换:字符串转整数可以使用: parseInt()字符串转小数可以使用: parseFloat() 隐式...

  • js == 和 ===的区别

    参考云澹的知乎回答。云澹里面同时提到了《JavaScript 标准参考教程(alpha。

  • 知识点杂谈

    1.js中null和undefined的区别 在js中null和undefined都表示空,但它们还是存在一定区别...

  • WKWebView 与 JS 交互及对象无法释放问题记录

    参考资料 弄清 JS 注入、JS 和原生约定接口的区别 从顺序上,应该先介绍 JS 和 原生约定接口 JS 和 原...

网友评论

      本文标题:js里 for of 和 for in的区别分析

      本文链接:https://www.haomeiwen.com/subject/kmtkuctx.html