++i被称为前自加,其运算为先自增,再赋值。
i++被称为后自加,其运算为先赋值,再自增。
for(i = 0; i < 10; i++){}
for(i = 0; i < 10; ++i){}
这里用到的++i和i++是完全相同的,没有区别,因为i的值都是加1。
let j, i = 10;
j = i++; //这里i要先赋值,再自增。语句执行后j = 10, i = 11;
//而如果写成:
j = ++i; //这里i要先自增,再赋值。语句执行后j = 11, i = 11;
运用
let i = 1
++i + i++ + ++i = 2 + 2 + 4 = 8
++i取自增后的值,i++取自增前的值,i始终在增加
首先++i取自增后的值为2,此时i的值为2,然后i++取之前的值为2,此时i的值为3,最后++i取之后的值为3+1 = 4,所以最后相加为8