记录一下i++与++i的经典面试问题。
以前学习JS的时候,翻看书籍,或者看网上说的各种概念,其实很容易过后就忘,毕竟实际项目中是比较少用这个问题。
其实我个人推荐的理解方法是直接alert出来,这样更能直观i的赋值变化:
var i = 1;
alert(i++) //第一次执行,打印出来还是1,即所谓的先赋值后执行操作
alert(i) //上一句执行结束后,此时打印出来才是2
var i = 1;
alert(++i) //直接打印出2,这里是立即执行了+1;
以下是概念性的理解:
1.前置递增(++): 在变量的前面,先自身执行加法操作后在赋值(++i);
2.后置递增(++): 在变量的后面,先赋值后在执行加法操作(i++);
3.前置递减(–): 在变量的前面,先自身执行减法操作后在赋值(–i);
4.后置递减(–): 在变量的前面,先赋值后在执行减法操作(i–);