let i = 1,o = 1;
let k = i++;
let j = ++o;

console.log(k,i) //1 2 (后++)先把自己先赋值给k,然后自己再++
console.log(j,o) //2 2 (先++)先把自己执行++操作,再把结果赋值给j

i++返回的是自增之前的值,++i返回的则是自增后的值 i++也好++i也好其实都是一个表达式,表达式始终会返回一个值

let a = 10,b = 20,c = 30;
++a; // 11 ++a意思为a=a+1 a为11,此时不涉及运算优先级的问题。
a++; // 12 a++意思为a=a+1 a为12 ,此时仍旧不涉及运算优先级的问题。

e = ++a + ++b + c++ + a++; // 13 + 21 + 30 + 13 = 77(自己写的,属于误打误撞)
// 正确的解释
// 此时就必须要考虑运算级的问题
// ++a a先自己+1 然后将值赋给结果:13 a=13
// ++b b先自己+1 然后将值赋给结果:21 b=21
// c++ 先将c值赋给结果:30 c自己+1 c=31
// a++ 先将a值13赋给结果:13 a自己+1 a=14

console.log(e) // 77