1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title></title>
6 <script type="text/javascript">
7
8 //原視頻講解的不好,參考高級程序設計
9
10 //前置遞增
11 var age = 29; 12 ++age; 13 console.log(age); //30
14 //等同於
15 var age = 29; 16 age = age + 1; 17 console.log(age); //30
18
19 //前置遞減和這個類似
20 var age = 29; 21 --age; 22 console.log(age); //28
23
24 //執行前置遞減和遞增操作時,變量的值都是在語句被求值以前改變的
25 var age = 29; 26 var anotherAge = --age + 2; 27 console.log(age); //28
28 console.log(anotherAge); 30
29
30 //由於前置遞減和遞增操作與執行語句的優先級相等,因此整個語句會從左至右被求值
31 var num1 = 2; 32 var num2 = 20; 33 var num3 = --num1 + num2; 34 var num4 = num1 + num2; 35 console.log(num3); //21
36 console.log(num4); //21
37
38 //zhou:通俗地說,前置就是先對自己加或減,把自己搞好了再去做其他的
39
40 //----------------------------------------------------------------------------------------------------
41
42 //后置遞增和遞減與前置遞增和遞減有一個非常重要的區別,即遞增和遞減操作是在包含它們的語句被求值之后才執行的
43 //這個區別在某些情況下不是什么問題,例如:
44 var age = 29; 45 age++; 46 console.log(age); //30
47
48 //把遞增操作符放在變量后面並不會改變語句的結果,因為遞增是這條語句的唯一操作。
49 //但是,當語句中還包含其他操作時,上述區別就會非常明顯了,例如:
50 var num1 = 2; 51 var num2 = 20; 52 var num3 = num1-- + num2; 53 var num4 = num1 + num2; 54 console.log(num3); //22
55 console.log(num1); //1
56 console.log(num4); //21
57
58 //zhou:通俗地說,后置就是先去做其他的,等其他的搞好了,再對自己加或減
59
60 var num1 = 2; 61 var num2 = 20; 62 var num3 = num1++ + num2; 63 var num4 = num1 + num2; 64 console.log(num3); //22
65 console.log(num1); //3
66 console.log(num4); //23
67
68
69
70 </script>
71
72 </head>
73 <body>
74 </body>
75 </html>