以递增为例
前置递增
++i
相当于 i = i + 1
先自加 后返回值
var num =10;
console.log(++num +10);//21 先自加 num先进行加1操作,之后的返回值在进行后面的运算
console.log(num);//11
后置递增
i++
相当于 i = i + 1
先返回原值,后自加
var num = 10;
console.log(num++ +10);//20 先返回原值 num=10 再进行后面的运算,运算完成后再进行自加
console.log(num);//11
前置自增和后置自增如果单独使用 效果都是一样的 自加1
var a = 10;
++a;//单独使用 相当于a = a + 1; a=11
var b = ++a + 2;//前置自增 先进行加1操作a=12 ++a=12,再进行后续运算 b = 12 + 2 = 14
console.log(b)//14
var c = 10;
c++;//单独使用 c++=11 c=11
var d = c++ + 2;//后置自增 返回原值c++=11, c=12再进行后续运算 d=11+2=13
console.log(d);//13
var e =10;
var f = e++ + ++e;//1.e++ 后置自增 返回原值e++=10 ,e=11 进行后续运算 2.++e 前置自增 先自加1 e=11+1=12 ++e=12 3.计算结果f=10+12=22
console.log(f);
//后置自增 先表达式返回原值 后面变量再自加1
小结
原文:https://www.cnblogs.com/ggggggyh/p/14772089.html