Javascript 为什么输出没有显示在循环的最后一步中?

Javascript 为什么输出没有显示在循环的最后一步中?,javascript,while-loop,Javascript,While Loop,我写了一个代码,它在数字1到20之间循环。若这个数字可以被3整除,它会打印“Julia”。若这个数字可以被5整除,它会打印“James”。若这个数字可以被15整除,它会打印“朱莉娅·詹姆斯”。但在最后一个数字20中,输出的是数字而不是“James” var x = 1; while (x < 20) { x % 15 === 0 ? console.log('Julia-James') : x % 5 === 0 ? console.log('James') : x % 3 ===

我写了一个代码,它在数字1到20之间循环。若这个数字可以被3整除,它会打印“Julia”。若这个数字可以被5整除,它会打印“James”。若这个数字可以被15整除,它会打印“朱莉娅·詹姆斯”。但在最后一个数字20中,输出的是数字而不是“James”

var x = 1;
while (x < 20) {
    x % 15 === 0 ? console.log('Julia-James') : x % 5 === 0 ? console.log('James') : x % 3 === 0 ? console.log('Julia') : console.log(x);
    x++;
}
console.log(x);

我希望20的输出是“James”。但实际输出是数字本身。

循环迭代所有严格小于20的数字。您最后检查的数字是19,它既不能被3整除,也不能被5整除。您应该修复循环的条件,以包括20:


它将在x=20时中断循环,因此它不会在x=20时执行。此外,由于最后一行console.logx,输出为20;请在下面找到正确的代码

var x=1;
当x在x=19末端时,你将得到19本身,你需要在x=19末端使用x,然后你将得到19本身,你需要使用x为什么不使用for循环?
while (x <= 20) {
// Here --^
while(x<=20){
  // body
}