gpt4 book ai didi

javascript - 这个非常简单的 switch 语句有什么问题?

转载 作者:行者123 更新时间:2023-11-28 15:31:03 26 4
gpt4 key购买 nike

console中的评价第二行中的 print 似乎是正确的,但 switch 语句不起作用。我没有收到任何错误。

for (var i = 0; i < 100; i++) {
console.log(i % 3 === 0, i % 5 === 0);
switch (i) {
case i % 3 === 0:
console.log(i, " by three");
break;
case i % 5 === 0:
console.log(i, " by five ");
break;
}
}

http://jsfiddle.net/vL4omdxs/

最佳答案

正如评论所说,这不是你使用 switch/case 的方式。您评估 switch 中的条件,然后使用 case 创建不同的行为。

这是您的代码,稍作修改(实际上不是那么轻微,有一个小的数学扭曲):

var res = document.getElementById('r');
for (var i = 0; i < 100; i++) {
//console.log(i % 3 === 0, i % 5 === 0);
switch (i % 15) {
case 0:
r.innerHTML += i + " by three and five<br>";
break;
case 3:
case 6:
case 9:
case 12:
r.innerHTML += i + " by three<br>";
break;
case 5:
case 10:
r.innerHTML += i + " by five<br>";
break;
}
}
<div id="r"></div>

<小时/>

只是一个提示(题外话,但可能有帮助):switch/case 不是解决 3/5 问题的最佳方法。看看使用 ifs 看起来多么简单:

var res = document.getElementById('r');
for (var i = 0; i < 100; i++) {
res.innerHTML += "<br>" + i + ": ";
if (i % 3 == 0) {
res.innerHTML += "by three ";
}
if (i % 5 == 0) {
res.innerHTML += "by five ";
}
}
<div id="r"></div>

关于javascript - 这个非常简单的 switch 语句有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com