明秀潜心
2014-12-09 15:27
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>++/--</title> <script type="text/javascript"> var numa=1; var numb=7; numa++; numb--; document.write("numa的值:"+numa); document.write("numb的值:"+numb); </script> </head> <body> </body> </html>
以上为课程中的代码,输出结果为:numa的值:2numb的值:6
还是想问一下,++或--在后不是先输出后运算吗?课程中的输出结果对吗?求解答一下
我们来分析一下代码吧。
var numa=1;
var numb=7;
numa++; //这个时候numa=1,然后再执行自加操作,这句话执行完之后numa=2;
numb--; //这个时候numb=7,然后再执行自减操作,这句话执行完之后numb=6;
document.write("numa的值:"+numa); //到这里自加操作已经执行完成,故输出2
document.write("numb的值:"+numb); //到这里自减操作已经执行完成;故输出6
来个例子帮你理解一下
var a = 3; console.log(a++) //3; console.log(a) //4
var a = 3; console.log(++a) //4; console.log(a) //4
var a = 3; console.log(a--) //3; console.log(a) //2
var a = 3; console.log(--a) //2; console.log(a) //2
感觉跟C中的用法是一样的,顺序问题。
b = a++; 会先把a初始的值赋值给b,然后a自增1。
c = ++a; 先把a自增1,再把增1以后的结果赋值给c。
在循环中会比较容易看出来。
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题
回答 3
回答 2
回答 2
回答 5
回答 11