// 数组var A=[4,6,74,67];

for in:拿到的是数组下标

for (let i in A){
console.log(i);
}

//0,1,2,3

for of:拿到的是数组元素

for (let i of A){
console.log(i);
}

字符串

var str="hellllo world";

for in:拿到的是字符串下标

for (let i in str){console.log(i)
}
//0 1 2 3 4 5 6 7 8 9 10 11 12

for of:拿到的是字符串中的字符

for (let i of str){console.log(i);
}
//  h e l l l l o   w o r l d

set 和 map:不能使用for in  (没有下标)

可以使用for of (可迭代对象)

var s=new Set([1,3,6,5,4,3]);

for (let i of s){console.log(i);
}

// 1 3 6 5 4

let map = new Map([["name","nick"],["age",25]]);
//Map(2) {"name" => "nick", "age" => 25}

for (let i of map){console.log(i);
}
// ["name", "nick"]
// ["age", 25]

 对象不是可迭代对象,所以不能对其使用for of

var obj={name:'alex',age:20
};

但可以使用for in:拿到的是对象的属性名

for (let i in obj){console.log(i);
}
// name
// age

转载于:https://www.cnblogs.com/ceceliahappycoding/p/10677678.html

JS中for in 与 for of相关推荐

  1. 在js中使用HashMap数据结构,在js中使用K,V数据结构

    首先是定义一个HashMap方法,做基类(复制在js中即可,然后引用) //简单的哈希表,begin function HashMap() {/** Map 大小 * */var size = 0;/ ...

  2. [JavaScript] 探索JS中的函数秘密

    函数长啥样? 把一些要重复使用的内容封装到函数内. function foo(title) {console.log(title) } foo('title') foo('dust') foo('he ...

  3. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  4. 在JS中最常看到切最容易迷惑的语法(转)

    发现一篇JS中比较容易迷惑的语法的解释,挺有用的,转载下,与大家分享: js中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 Js代码  if( condition ) { //... }e ...

  5. js去el的map_转:el表达式获取map对象的内容 js中使用el表达式 js 中使用jstl 实现 session.removeattribute...

    原文链接: 总结: el表达式获取map对象的内容 后端: HashMap map1 = new HashMap(); map1.put("key1","lzsb&quo ...

  6. js中substr,substring,indexOf,lastIndexOf的用法

    js中substr,substring,indexOf,lastIndexOf等的用法 1.substr substr(start,length)表示从start位置开始,截取length长度的字符串 ...

  7. js中的各种宽高以及位置总结

    在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动原理,同时,由于这些属性概念较多,加上浏览器之 ...

  8. WKWebView Safari调试、JS互调、加载进度条、JS中alert、confirm、prompt

    主要内容 Safari调试 swift/OC与JS互调 增加加载进度条 支持JS中alert.confirm.prompt Safari调试 设置 -> safari --> 高级,开启J ...

  9. 彻底理解js中this

    相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...

  10. 彻底理解js中this的指向

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...

最新文章

  1. sensor曝光量和曝光行的区别_拼多多新手商家怎样快速提高曝光量?
  2. [css] 解释下为什么css的reset不建议直接这么写:*{ margin:0; padding:0;}?
  3. Spring Cloud —— Feign 实现服务调用
  4. 公有链、私有链、联盟链、许可链,这些区块链又分别代表着什么意思?
  5. go - str - byte
  6. github安装及使用图文详解
  7. android导航功能介绍,百度导航功能介绍
  8. 信号发生器的基本知识
  9. U盘安装ESXI 6.7,并使用U盘启动服务器
  10. unc0ver 越狱工具来袭,免电脑操作,支持 A7-A12,支持iOS11~iOS12.4稳定越狱
  11. H.266/VVC代码学习:普通量化和率失真优化量化(RDOQ)
  12. HTML函数多个条件并列,countifs多个并列条件(countifs同一列2个条件
  13. 在WIN2012R2和WIN2016服务器打开网站慢的解决方法
  14. 创业公司项目管理流程这样做才有效
  15. S02_CH15_ AXI_OLED 实验
  16. 5G时代,云计算发展的五大新趋势
  17. 迅雷下载百度云大小文件(实现极速下载)
  18. JDK源码下载:http://download.java.net/openjdk/jdk7
  19. 第二章--图形图像处理技术——基础理论和基本工具的使用
  20. kerberos+druid+phoenix

热门文章

  1. oracle 11g 环境,Linux彻底清理Oracle 11g RAC环境方案
  2. e2140服务器性能,4000 还是E2140?两大人气CPU对决
  3. php 10的次方,动态 - 1的10次方 - OSCHINA - 中文开源技术交流社区
  4. Linux不能读取目录,关于Linux上面无法读取资源目录下文件的问题
  5. IDEA项目 let报错爆红
  6. java序列化错在哪里_Spark序列化错误:java.io.NotSerializableException
  7. java打印等腰梯形
  8. tensor数据类型转换_PyTorch的tensor数据类型及其相关转换
  9. a jquery 标签点击不跳转_form标签的action属性怎么用?form标签action属性的用法介绍(附实例)...
  10. IOS 定时器 NSTimer