首页 > 代码库 > JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)

JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)

递增和递减操作符直接借鉴自C,而且各有两个版本:前置型 (递增 ++i ,递减 --i )和 后置型 (递增 i++ ,递减 i-- )。书本上对两者的定义是:前置型应该位于要操作的变量之前,而后置型则应该位于要操作的变量之后。what?怎么那么难理解,换一种通俗易懂的语言去描述应该是咋样的......,结合提供代码,一顿白眼.....

前置型 (递增 ++i ,递减 --i ):  不就是先自身计算,再赋值给变量(先计算自己身上增加,减少了多少钱,再把它存到自己的银行卡里或者还给债主);

后置型 (递增 i++ ,递减 i-- ):不就是先将自身的值赋值给变量,然后再自身计算(先把自己原本身上的钱存到自己的银行卡里或者还给债主,然后在计算在原来基础上自己增加,减少了多少钱)

懂了没?还不懂?那现在开始给你看看两种方式下,你的钱是怎么流通的哈:

   一、前置型递增++i,递减--i

 假设你有100块(变量i=100) ,那么前置递增为 ++i

var i = 100;
alert(i);         => 100
++i;      => 101    先计算自己身上增加了多少钱
alert(i);         => 101       再把它存到自己的银行卡里或者还给债主

也相当于如下的操作效果:

var i = 100;

i=i+1; => i=100+1=101;

执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。(在计算机科学领域中,这种情况通常被称作副效应
,看下面的例子:

var i = 100;
alert(i); => 100         
i++;    => 100     先把自己原本身上的钱存到自己的银行卡里或者还给债主
alert(i); => 101 然后在计算在原来基础上自己增加,减少后一共还有多少钱

把递增操作符放在变量后面并不会改变语句的结果,因为递增是这条语句的唯一操作。但是当语句中还包含其他操作时,区别就会不一样了。看下面的例子:
var num1=2;
var num2=20;
var num3=num1++ + num2;
var num4=num1+num2;
alert(num1);            => 3
alert(num3);           => 22 // var i; i=num1=2; num1=num+1=3 ; num3=i + num2;
alert(num4);            => 23 // num1+num2;

总结,希望这篇文章对你理解递增和递减(++i,--i 和 i++,i-- 的区别)有帮助,分享技术,分享快乐!

JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)