var a = 1;
a = a+1;
console.log("a = "+a);
改变旧的模式,新的增加方法就是自增。
自增符号++
直接使用a++或者++a,会使原变量的值直接+1.。举例就是将上面的公式a = a+1;换a++或者++a,然后取值("a = " + a++/++a)
注意:此时a是变量,a++/++a是表达式
使用表达式值时,console.log(a++)取的是原值,console.log(++a)取的是原值+1的值!
var a =1;
console.log(a++);-------调用一次a++,此时a++的值显示“1”-----a++表示表达式的值,“1”表示自增前的值
console.log("a = "+ a)------依据从上到下的顺序a取值1后,还调用了一次a++。此时显示“a = 2”
小总结:console.log(a++),中的a++的值表示原变量的值(自增前的值)
console.log(++a), 中的++a的值表示原变量新值(自增后的值)
重点记忆:
var a = 1;
console.log("++a = " + ++a)------此时显示++a的值,是原变量加1后的新值.所以显示"++a = 2"
console.log("a = "+a)------此时取a这个变量的值,a经过表达式++a,自增1.所以显示"a = 2"
console。log("a++ = " + a++)------此时取的是原变量的值,没有变化的值,所以显示"a++ = 1"
重点理解:
var c = 10;
c++;
console.log(c++);---------此时经过第二行的c++值已经变成11,在11的基础上取值(c++),就是求11这个原变量的值,从上往下依次走的顺序。11就相当于(c++)所指的原变量的值(没有通过(c++)自身变化的值)!
看是取在谁的基础上自增