js求1到100所有偶数的和的问题?

<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <script>
            var i = 0;
            var sum = 0;
            if(i <= 100){
                  if(i % 2 == 0){
                        sum += i;
                  }
                  i++;
            }
            alert(sum);
      </script>
</head>
<body>
      
</body>
</html>

为什么上述代码是错的?

为什么第一个if必须换成while才正确?

为什么把第一个if换成while它就能正常算出结果

if是能判断,只判断一次,while这个是循环,当i<=100 就会一直执行.

<!DOCTYPE html>
<html lang="en">

<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <script>
            var sum = 0;
            for (var i = 0; i <= 100; i++) {
                  if (i % 2 == 0) {
                        sum += i;
                  }
            }
            alert(sum);
      </script>
</head>

<body>

</body>

</html>

你不循环的嘛?

if是条件判断,while是循环;一个执行一次,一个N次。