zoukankan      html  css  js  c++  java
  • javasript-for循环

    先来个for循环的例子:

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

    想知道会输出什么,首先得知道完整循环了多少次,想知道完整循环了多少次,就得知道条件的判断,经过我的测试,得到了这么结果:

    第一个 ; 和 第二个 ;  之间的代码是条件( for循环里的条件是被 两个分号包围的)这个你知道,如果只有一个条件就以这一个条件为准,如果有多个条件,直接以最后个逗号后面的条件为准,看例子验证

    var i=0,j=0;
    
    for(;j<6;i++,j++){
    
      k=i+j; 
    
    }
    console.log(k)

    然后两个例子都运行下,得到的结果一样,是不是心里在想,条件里的 i <10 屁用都没有,鬼管你是false还是true,最后的条件才是真正的黑手推动着循环,我还是不信,接着:

     1 //变量初始值 
     2 var i=0,j=0,h=0;
     3 
     4 for(;i<-1,j<-1,h<6;i++,j++,h++){
     5 
     6   k=i+j+h; 
     7 
     8 }
     9 
    10 console.log(k) 
    11 
    12 /*************************/
    13 //变量初始值 
    14 var i=0,j=0,h=0;
    15 
    16 for(;h<6;i++,j++,h++){
    17 
    18   k=i+j+h; 
    19 
    20 }
    21 console.log(k) 

    果然还是一样,这样就验证了最初说的那句:第一个 ; 和 第二个 ;  之间的代码是条件 这个你知道,如果只有一个条件就以这一个条件为准,如果有多个条件,直接以最后个逗号后面的条件为准

    既然知道真正的条件了,就知道真正的完整的循环次数,还是看第一个例子吧:

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

    循环完整次数 = 6 - 0 = 6次
    循环的首次k值 = 0+0 ; 还剩 5 次都是完整的循环 就有 ++ 的过程 k的值= i + j, i 和 j 在第6次时分别是 5 和 5,第(6-0)+1 = 7次 是循环体的条件里false了,退出循环体,i的值定格在5,j的值也定格在5,那么k的值就定格在5+5 = 10了

  • 相关阅读:
    CVE-2017-17558漏洞学习
    USB键盘驱动分析
    CVE-2018-18955漏洞学习
    angr学习
    LeetCode递归解题模板
    USBD_STATUS
    Linux中/etc/passwd文件与/etc/shadow文件解析.
    USB设备架构
    HID Boot device.
    HID class request.
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8657108.html
Copyright © 2011-2022 走看看