let i = -1
let j = -1
// 0..2 要求
while (i++<3) {
  console.log(i) // 0 1 2 3 
}
while (++j<3) {
  console.log(j) // 0 1 2 
}

自己写其他代码多了就忘记了最早学习的自增的坑了,这里来填坑

这里 i++<3 为什么会打印 0 1 2 3
因为 i++<3 运行中 i++ 直接先返回 i 并没有进行自增,
所以可以看成 i<3 进行比较,而它的自增是在运行i++<3完这语句后才(内部)执行了

一句话 先 i<3 比较 后 i+1

++i<3 则是先 i+1i<3
参考 后置自增(Postfix increment) ,前置自增(Prefix increment)

也好记:
i++ ++在后面就是先返回 i+1
++i ++在前面就是先 +1 后返回 i


WingDust
236 声望2 粉丝