ES5:for,foreach,for..in

ES6:for..of

          // ES5(可参见ES6的析构写法)
const value = ["a", "b", "c"] // for
for (let i = 0; i < value.length; i++) {
console.log('for:', value[i])
} // for优化版(保留长度,无需每次遍历长度)
for (let i = 0, len = value.length; i < len; i++) {
console.log('for优化:', value[i]);
} // 优点:foreach适用于只是进行集合或数组遍历
// 缺点:for..each(效率较低),不能跳过或者终止循环
// 参数调用:默认回调三个参数(value,index,)
value.forEach(function(value, index, array) {
console.log('for..each:', value, index, array)
}) // for..in(可返回可枚举的属性)
// 不可枚举的属性:如Number() ->js内部封装的
for (let i in value) {
console.log('for..in:', value[i])
} // for..of
for (let i of value) {
console.log('for..of:', i)
}

关于for..of和for..in区别,请参见阮一峰教程

 

关于使用:根据最简,最适用的循环使用即可

* 1. 语法(参数)
* 2. 使用限制

js - 关于循环的更多相关文章

  1. Node.js 事件循环(Event Loop)介绍

    Node.js 事件循环(Event Loop)介绍 JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”.Node.js在JavaScript的基 ...

  2. Node.js事件循环

    Node JS是单线程应用程序,但它通过事件和回调概念,支持并发. 由于Node JS每一个API是异步的,作为一个单独的线程,它使用异步函数调用,以保持并发性.Node JS使用观察者模式.Node ...

  3. JS基础——循环很重要

    介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构 ①if-else结构 if(判断条件) { 条件为true时执行 } else{ 条件为false时执行 } ②i ...

  4. 【JS中循环嵌套常见的六大经典例题+六大图形题,你知道哪几个?】

    首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循 ...

  5. js事件循环机制辨析

     对于新接触js语言的人来说,最令人困惑的大概就是事件循环机制了.最开始这也困惑了我好久,花了我几个月时间通过书本,打代码,查阅资料不停地渐进地理解他.接下来我想要和大家分享一下,虽然可能有些许错误的 ...

  6. js 各种循环遍历

    js 各种循环遍历(表格比较) 遍历方法 能否遍历数组 能否遍历对象 备注 for 能 不能 for in 能(有诸多缺点) 能 为遍历对象而设计的,不适用于遍历数组 forEach 能 不能 bre ...

  7. 6、Node.js 事件循环

    #########################################################################################Node.js 事件循 ...

  8. js for循环的陷阱

    ☞问题概述 一页面有三个按钮,点击提示相应内容.相应内容已从后台获取,并转化成json数组. var content = ["提示1", "提示2", &quo ...

  9. Vue.js:循环语句

    ylbtech-Vue.js:循环语句 1.返回顶部 1. 循环语句 循环使用 v-for 指令. v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 ...

  10. js——事件循环

    JS-事件循环 js运行的环境称之为宿主环境. 执行栈 :call stack ,一个数据结构,用于存放各种函数的执行环境,每一个函数执行之前他的相关信息会加入到执行栈中,函数调用之前,创建执行环境, ...

随机推荐

  1. javascript中的回调函数(callback)

    代码如下: app.use(function(req, res, next) {     var err = new Error('Not Found');     err.status = 404; ...

  2. idhttpserver的使用方法

    idhttpserver的使用方法 1)CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo ...

  3. centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息

    1.系统 1.1版本 uname -a 能确认是64位还是32位,其它的信息不多 [root@localhost ~]# uname -a Linux localhost.localdomain 3. ...

  4. IOS Devices Version

    游戏项目中有一个专门用于收集IOS崩溃的接口和查询页,运营/测试的同事有时候会通过查询页大概看一下每日崩溃的情况,经常会问iPhone6,1是什么,iPhone7,1又是什么设备?   我从网上仔细搜 ...

  5. ios之申请后台延时执行和做一个假后台的方法

    转自:http://sis hu ok.com/forum/blogCategory/showByCategory.html?categories_id=138&user_id=10385   ...

  6. 标准输出中stderr和stdout的区别

    一.首先介绍一下三者printf,sprintf,fprintf的功能 1,printf就是标准输出,在屏幕上打印出一段字符串来. 2,sprintf就是把格式化的数据写入到某个字符串中.返回值字符串 ...

  7. 输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。

    #include<iostream> #include<cassert> void multiply(const char *a,const char *b) { assert ...

  8. 本地git库gitlab库链接服务器库 idea git 配置 gitlab 配置 git生成ssh公钥

    下载git  https://git-scm.com/ 安装以后会右键菜单出现Git Base Here 点击Git Base Here   输入 cd ~ 进入你的用户根目录 创建文件夹 mkdir ...

  9. Android Animatioin总结

    一.动画分类 1.  View Animation (Tween动画)  执行一系列简单的转换.      针对 视图对象内容进行移动,放大,缩小以及产生透明度的变化等四种动画操作.仅针对视图对象内容 ...

  10. 第二章 TypeScript 开发环境搭建

    Mac OS X 下 TypeScript 开发环境搭建 一.集成开发环境 WebStrom VSCode 二.安装 TypeScript Homebrew(macOS 缺失的软件包管理器) ruby ...