Since i += i
是缩写i = i + i
,以下代码
for (var i = 0; i<=10; i++) {
console.log(i += i) }
应该输出:
1. 0, because 0 += 0 + 0 (i = 0)
2. 2, because 0 += 1 + 1 (i = 2)
3. 6, because 2 += 2 + 2 (i = 6)
4. 12, because 6 += 3 + 3 (i = 12)
但是,尽管控制台确实正确输出了 1. - 3. 的值,即 0、2 和 6,但我得到的 4. 值(即 14)并不是我预测的值(行1. - 4. 以上是在执行 for 循环之前输入的)for 循环将输出 (=12
)。
我在这里解释错了什么?
代码本身显然并不有趣,但我仍然很好奇它为什么会这样工作。
所以基本上,您在每次迭代中先加一,然后将数字加倍,从 0 开始。
那么你应该得到:0,2,6,14。我认为你的数学,而不是代码,在这里是错误的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)