对于带有两个计数器的循环,以及令人困惑的if-else语句。(JavaScript)

时间:2016-10-01 12:31:31

标签: javascript if-statement for-loop

<!doctype html>
<html>
  <head>
    <script>
      function do_something() {
        var theBody = document.getElementsByTagName("body")[0];
        var theImg = document.createElement("img");
        theImg.src = "cat.png";
        theBody.appendChild(theImg.cloneNode(true));
        var count = 0;
        for (var i = 0; i < 10; i++, count++) {
            if (i == 5) continue;
            if (count == 3) {
                count = 0;
                theBody.removeChild(theBody.lastChild);
            } else {
                theBody.appendChild(theImg.cloneNode(true));
            }
            if (i > 7) break;
        }
      }
    </script>
  </head>
  <body onload="do_something()"></body>
</html>

我应该告诉现代浏览器显示多少图像。

我有两个主要的疑问:

  • 当i = 4时,count的值是多少?我认为它会是0,但不要为什么我对此感到困惑。
  • 如代码所示,当count = 0时,图像将从身体中移除。代码是否附加图像,然后删除图像?或者,它只是删除一个图像?这是令人困惑的部分,因为当i = 3时会发生什么事情。

根据给出的答案,在循环中添加6个图像,并且移除2个图像。因此,显示总共5个图像。

1 个答案:

答案 0 :(得分:1)

  

当i = 4时,count的值是多少?我认为它会是0,但不要为什么我对此感到困惑。

i == 3时,count设置为0.在for块结束时,执行count++,所以到i == 4时, count == 1

  

如代码所示,当count = 0时,图像将被删除   身体。代码是否附加图像,然后删除图像?要么,   它只是删除一个图像?这是令人困惑的部分   因为当i = 3时没有说什么。

  • i == 0追加
  • i == 1追加
  • i == 2追加
  • i == 3上一步删除的图片
  • i == 4追加