为什么这个脚本的输出是5而不是8?
我认为--
意味着-1
两次。
<html>
<body>
<script>
var x = 0;
var y = 10;
while ( x < y ){
x++;
y-- ;
}
document.write(y);
</script>
</body>
</html>
答案 0 :(得分:1)
第一次迭代:
x = 0
y = 10
第二次迭代:
x = 1
y = 9
第三次迭代:
x = 2
y = 8
x
何时不会小于y
?当x
等于或大于y
时:
x = 5
y = 5
答案 1 :(得分:1)
为了帮助您更好地理解&#34; ++
--
&#34;表示法:x--
相当于x=x-1
,依此类推。
答案 2 :(得分:0)
--y
表示按y
减1,因此每个循环y
减1。
即。 y = y - 1
相反的是++x
。这意味着每个循环增量x
增加1。
即。 x = x + 1
循环一直持续到x
和y
相同,5,因此不再满足while
循环条件,从而打破循环。
关于增量和减量的更多细节here
答案 3 :(得分:0)
++
运算符将数值增加1
,而--
运算符执行相反的操作,将数值递减1
。
以下是循环中发生的事情:
#Iteration 0 1 2 3 4 5
x value 0 1 2 3 4 5
y value 10 9 8 7 6 5
x < y true true true true true false <-- breaking here (iteration 5)
在此标签中,您可以看到您的循环在迭代5
处结束,5
和x
的值为y
。 0
。
让我们看看var j = 0;
for (var i = 0; i < 1000; i+=1) {
j++;
}
document.write(j);
document.write('<hr>');
for (var i = 0; i < 1000; i+=1) {
j--;
}
document.write(j);
一千次递增和递减。
0
&#13;
显然,1000
最终会再次成为0
和this.animate({scale(2, 2, vinerBBoxX, vinerBBoxY)}, 100, mina.easeinout);
。