zoukankan      html  css  js  c++  java
  • for循环的更多写法

    在看设计模式这本书,遇到一个令人疑惑的for循环语句

    for (var i = 0, type;type = ['String', 'Array', 'Number'][i++]) {
    代码块
    }

    比较疑惑,因为从平时接触的来看基本上都是

    for(语句1,语句2,语句3){
    }
    语句1:起始
    语句2:循环终止条件
    语句3:在循环后被执行的语句

    现在的疑惑如下

    for(var i =10,i--;){
    }

    实际上上面的语句等同于,这是为什么

    for(var i =0, i<10 i++;){
    }

    原来这里等同于把循环终止条件和循环被执行后执行的语句相结合了即把判断和赋值放到一起了,一边循环一边赋值,
    i--是什么判断条件,当i--为fasle即,循环终止,在js中0, null, undefined, false, ‘’,
    根据Boolean的隐形转化,其结果为false,即i=0时条件终止

    再回到我们之前的问题

    for (var i = 0, type;type = ['String', 'Array', 'Number'][i++]) {
    代码块
    }
    var i =0,type;//语句1
    type = ['String', 'Array', 'Number'][i++] //语句2

    即这里的判断+赋值调件为type = ['String', 'Array', 'Number'][i++],终止条件为type=‘undefined’

  • 相关阅读:
    RF用户关键字
    RF循环分支
    RF使用
    RF变量
    RF介绍
    元件作用域
    元件介绍
    工作总结之测试
    港股通Level2介绍
    linux中配置yum源
  • 原文地址:https://www.cnblogs.com/Ewarm/p/11927314.html
Copyright © 2011-2022 走看看