 
		明秀潜心
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进阶篇
469066 学习 · 22582 问题
相似问题
回答 3
回答 2
回答 2
回答 5
回答 11