在我学习和改进我的JavaScript的过程中,我遇到了一个带有switch/case语句的脚本,我注意到一些变量在++之前使用带有变量的++递增,然后一些变量在变量之后有++.这些有什么区别?这是我试图解释m和y变量的一个例子.
switch(f){
case 0:{
++m;
if(m==12){
m=0;
y++;
}
break;
}
case 1:{
--m;
if(m==-1){
m=11;
y--;
}
break;
}
case 2:{
++y;
break;
}
case 3:{
--y;
break;
}
case 4:{
break;
}
}
Run Code Online (Sandbox Code Playgroud)
Mik*_*uel 39
++i返回i增加后的值. i++返回i递增前的值.
当++它位于其操作数之前时,它被称为"预增量"运算符,并且当它被称为"后增量"运算符之后.
只有在对结果做某事时,这种区别才是重要的.
var i = 0, j = 0;
alert(++i); // alerts 1
alert(j++); // alerts 0
Run Code Online (Sandbox Code Playgroud)
有一点需要注意的是,即使i++在递增之前返回值,它仍然会在转换为数字后返回值.
所以
var s = "1";
alert(typeof s++); // alerts "number"
alert(s); // alerts 2, not "11" as if by ("1" + 1)
Run Code Online (Sandbox Code Playgroud)
与任何其他c型++增量器的区别相同.
foo = ++i 是相同的:
i = i + 1;
foo = i;
Run Code Online (Sandbox Code Playgroud)
foo = i++ 是相同的;
foo = i;
i = i + 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9464 次 |
| 最近记录: |