i-与-i

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++;这样的赋值语句

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理