var j=0;for (i=0;i<100;i++){ j=j++;}console.log(j);
以上的输出的结果是 0;再来看看这个
var j=0;for (i=0;i<100;i++){ j++;}console.log(j);
为什么j=j++; 之后循环的值为0呢;这主要是没理解++i和i++这种写法的执行导致的
i++ 返回原来的值(先赋值再运算),++i 返回加1后的值(先运算后赋值)
var j=0;for (i=0;i<100;i++){ j=++j;}console.log(j);
因此,为了方便理解在非在必要条件下建议避免书写i=i++;这样的赋值语句