首页 > 自增i++的疑问?

自增i++的疑问?

直接上代码了,

var j = 0;
for(var i = 0;i<5;i++){
    j = j ++;
}

console.log(j);

请问输出多少呢?为什么?


j = j++;没效果啊,直接j++;不就好了


答案是0 因为 j = j++;
实际上你做了无效功,var a = j++var a = ++j 效果是有区别的执行完后第一个为a=0第二个为a=1楼主先弄懂j++ 和 ++j的区别就很好理解答案了


操作符优先级问题。
是j++先自增 再用等号赋值。
还是先赋值以后再自增。

结果是前者。等号右边的表达先计算


j ++; 这个表达式的值还是j 所以你这赋值语句根本没用 可以这样写 j=++j 就是你要的结果了


你这样是先执行了j=j,然后再执行j++,所以即使无限循环j还是0


0.
j++ 就是后自增
j = j++ 整个过程是这样的
先执行右边的,j++,在当个语句中j是不自增的
所以 j = 0
如此循环,还是0

如果换成表达式是
j++

结果就是5了

【热门文章】
【热门文章】