首页 > 解决方案 > 是 (i % 3 == 0) 的意思是 (i % 3 == false )?

问题描述

我是学习JS的初学者。谁能向我解释为什么输出为“1”?

这里是:

for (var i = 1; i <= 15; i++) {
  if (i % 2 == 0) {
    i += 2;
  } else if (i % 3 == 0) {
    i++;
  }
  console.log(i);
}

输出:1、4、5、8、10、11、14、16

我可以弄清楚为什么输出等于 4, 5, 8, 10, 11, 14, 16 ,但是,我不明白为什么 1 作为输出...

标签: javascriptloopsif-statementmodulus

解决方案


当值为iis1时,您定义的两个条件语句都不会执行。

for (var i = 1; i <= 15; i++) {
  
  if (i % 2 == 0) {
    console.log( 'inside if' );
    i += 2;
  } else if (i % 3 == 0) {
    console.log( 'inside else-if' );
    i++;
  } else {
    console.log( 'neither if nor else-if' );
  }
  
  console.log(i);
}

余数总是12or来除3,不等于0

console.log( 1 % 2 );
console.log( 1 % 3 );


推荐阅读