请问javascript中++i 和 i++ 到底具体区别在哪里?

javascript中++i 和 i++ 到底具体区别在哪里?


GCT1015
浏览 327回答 4
4回答

临摹微笑

++i和i++区别在于运算顺序和结合方向。&nbsp;js中有两种自加运算,其运算符均为++,功能为将运算符自加1.其中:++VAR被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用VAR值。VAR++被称为后自加,其前面的变量执行自加操作,其运算为,先引用VAR值,再进行自加操作。&nbsp;如果自加语句独立成为一个单独的语句,那么前后自加是完全相同的。比如单独的一行a++;和++a;是一样的。再比如,常见的for循环:for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;100;&nbsp;i&nbsp;++)for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;100;&nbsp;++i)这里用到的++i和i++是完全相同的,没有区别。&nbsp;当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。比如var&nbsp;i&nbsp;=0;while(i++<10);i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。而如果写成while(++i<10);是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。&nbsp;再举一个例子。var&nbsp;a,&nbsp;i&nbsp;=&nbsp;10;a&nbsp;=&nbsp;i&nbsp;++;&nbsp;//这里i要先赋值,再自加。语句执行后a=10,&nbsp;i&nbsp;=&nbsp;11;而如果写成:var&nbsp;a,&nbsp;i&nbsp;=&nbsp;10;a&nbsp;=&nbsp;++i;&nbsp;//这里i要先自加,再赋值。语句执行后a=11,&nbsp;i&nbsp;=&nbsp;11;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript