zoukankan      html  css  js  c++  java
  • javascript中i++与++i

    ++i和i++区别在于运算顺序和结合方向。
     
    js中有两种自加运算,其运算符均为++,功能为将运算符自加1.
    其中:
    ++VAR被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用VAR值。
    VAR++被称为后自加,其前面的变量执行自加操作,其运算为,先引用VAR值,再进行自加操作。
     
    如果自加语句独立成为一个单独的语句,那么前后自加是完全相同的。
    比如单独的一行
    a++;和++a;是一样的。
    再比如,常见的<a class="baidu-highlight" href="https://www.baidu.com/s?wd=for%E5%BE%AA%E7%8E%AF&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9PAn4ujw9n1b4rHfduHu-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHnvrHDvPH0dnj0vn1TLrHT1rf" target="_blank">for循环</a>:
    for(i = 0; i < 100; i ++)
    for(i = 0; i < 100; ++i)
    这里用到的++i和i++是完全相同的,没有区别。
     
    当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。
    比如
    var i =0;
    while(i++<10);
    i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。
    而如果写成
    while(++i<10);
    是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。
     
    再举一个例子。
    var a, i = 10;
    a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;
    而如果写成:
    var a, i = 10;
    a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;
  • 相关阅读:
    每日日报2020.9.30 1905
    每日日报2020.10.7 1905
    每日日报2020.10.2 1905
    每日日报2020.9.28 1905
    程序员修炼之道:从小工到专家 九月读书心得 1905
    每日日报2020.9.27 1905
    每日日报2020.9.29 1905
    每日日报2020.10.6 1905
    每日日报2020.10.5 1905
    每日总结2
  • 原文地址:https://www.cnblogs.com/weigege2015/p/8403414.html
Copyright © 2011-2022 走看看