a++和++a的區別
<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
還是想問一下,++或--在后不是先輸出后運算嗎?課程中的輸出結果對嗎?求解答一下
2014-12-09
我們來分析一下代碼吧。
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
2015-07-10
感覺跟C中的用法是一樣的,順序問題。
b = a++; 會先把a初始的值賦值給b,然后a自增1。
c = ++a; 先把a自增1,再把增1以后的結果賦值給c。
在循環中會比較容易看出來。