zoukankan      html  css  js  c++  java
  • for循环两个略骚的写法

    for loop

    骚写法

    或许你知道,总之我觉得很酷,希望你也这么认为。

    递增遍历

    最常见场景,从 0 到 10 的遍历,不输出 10:

    for(let i = -1; ++i < 10;) {
      console.log(i)
    }
    // 0,1,2,3,4,5,6,7,8,9
    

    对比下常规写法:

    for(let i = 0; i < 10; i++) {
      console.log(i)
    }
    // 0,1,2,3,4,5,6,7,8,9
    

    递减遍历

    倒序遍历,不遍历第一个,常见用来删除元素等:

    for(let i = 10; i--;) {
      console.log(i)
    }
    // 9,8,7,6,5,4,3,2,1,0
    

    对比下常规写法:

    for(let i = 10 - 1; i > -1; i--) {
      console.log(i)
    }
    // 9,8,7,6,5,4,3,2,1,0
    

    原理解析:

    for(l1; l2; l3) {} 执行顺序:

    1. l1 整个循环开始前执行一次
    2. l2 当次循环执行前执行一次,判断是否需要执行
    3. l3 每次循环结束执行一次

    留个小问题,尝试把两个简写的 ++-- 关于 i 的前后位置换换会有什么效果,为什么?

  • 相关阅读:
    进程空间与系统空间(一)
    内核之最
    Linux 内核3.10.5 专场
    device_create与device_register
    重写与重载的含义
    抽象类和接口的区别
    Spring知识点
    mybatis学习
    知识点
    Mybatis面试题
  • 原文地址:https://www.cnblogs.com/ZweiZhao/p/9784848.html
Copyright © 2011-2022 走看看