Javascript 为什么这段代码循环16次而不是8次? var-tops=5; 而(顶部>0){ 对于(变量自旋=0;自旋

Javascript 为什么这段代码循环16次而不是8次? var-tops=5; 而(顶部>0){ 对于(变量自旋=0;自旋,javascript,Javascript,当var=tops每次减少1直到值为1时,var=tops不是会旋转循环2次吗?那代码不是警告了8次吗?我不知道为什么我会收到16次警报 提前谢谢 我真的很抱歉发布这个新手问题。我目前正在学习JavaScript的基础知识。你应该得到15次警报,而不是8次或16次 tops的值为5,4,3,2,1。对于这些值中的每一个,旋转将设置为0、1和2 5(顶部的值)X 3(旋转的值)=15您应该得到15次警报,而不是8次或16次 tops的值为5,4,3,2,1。对于这些值中的每一个,旋转将设置为0、1

当var=tops每次减少1直到值为1时,var=tops不是会旋转循环2次吗?那代码不是警告了8次吗?我不知道为什么我会收到16次警报

提前谢谢


我真的很抱歉发布这个新手问题。我目前正在学习JavaScript的基础知识。

你应该得到15次警报,而不是8次或16次

tops
的值为5,4,3,2,1。对于这些值中的每一个,
旋转
将设置为0、1和2


5(顶部的值)X 3(旋转的值)=15

您应该得到15次警报,而不是8次或16次

tops
的值为5,4,3,2,1。对于这些值中的每一个,
旋转
将设置为0、1和2


5(顶部的值)X 3(旋转的值)=15

您可以在屏幕上打印变量(顶部、旋转)的值。 然后你会看到它循环了15次,你会明白为什么

以下是为您准备的JSFIDLE:

您只需在屏幕上打印变量(顶部、旋转)的值即可。 然后你会看到它循环了15次,你会明白为什么

以下是为您准备的JSFIDLE:
当您从
0
开始时,您将
旋转3次而不是2次,当您从
0
开始时,您将
旋转3次而不是2次,内部循环应运行三次(0,1,2)将
警报()
替换为
控制台.log(顶部,旋转)
-你会看到你实际上得到了15个警报(每个顶部旋转3圈),而不是16个。这个内部循环应该运行三次(0,1,2)用
控制台.log(顶部旋转)替换
警报()
-你会看到你实际上得到了15个警报(每个顶部旋转3圈),而不是16个。哇,我真不敢相信我这么瞎。这真的很容易,也很明显。非常感谢@有时候它只需要一双新鲜的眼睛;)你很好哇,我真不敢相信我这么瞎了。这真的很容易,也很明显。非常感谢@有时候它只需要一双新鲜的眼睛;)不客气
    var tops = 5;

while (tops > 0){
    for (var spins = 0; spins < 3; spins++) {
        alert("Top is spinning!");
    }
    tops = tops - 1;
}