直接上代码了,
var j = 0;
for(var i = 0;i<5;i++){
j = j ++;
}
console.log(j);
请问输出多少呢?为什么?
直接上代码了,
var j = 0;
for(var i = 0;i<5;i++){
j = j ++;
}
console.log(j);
请问输出多少呢?为什么?
0.
j++ 就是后自增
j = j++ 整个过程是这样的
先执行右边的,j++,在当个语句中j是不自增的
所以 j = 0
如此循环,还是0
如果换成表达式是
j++
结果就是5了
答案是0 因为 j = j++;
实际上你做了无效功,var a = j++
和var a = ++j
效果是有区别的执行完后第一个为a=0第二个为a=1楼主先弄懂j++ 和 ++j的区别就很好理解答案了
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
j ++; 这个表达式的值还是j 所以你这赋值语句根本没用 可以这样写 j=++j 就是你要的结果了