2 回答

TA贡献1827条经验 获得超8个赞
prompt总是返回一个string,并且 case 与===- 字符串不会===与数字进行比较。将您的 case 改为字符串:
const day = prompt("Enter day number: ");
switch (day) {
case '1':
document.write("Sun");
break;
case '2':
document.write("Mon");
break;
case '3':
document.write("Tue");
break;
default:
document.write("Wrong Choice");
}
但switch相当冗长并且容易出错。考虑使用对象或数组代替:
const days = [, 'Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'];
const dayNum = prompt("Enter day number: ");
const day = days[dayNum] || 'Invalid';
console.log(day);

TA贡献1801条经验 获得超8个赞
我猜它是作为字符串传递的。试着做
<script>
const day = prompt("Enter day number: ");
switch (day) {
case ‘1’:
document.write("Sun");
break;
case ‘2’:
document.write("Mon");
break;
case ‘3’
document.write("Tue");
break;
default:
document.write("Wrong Choice");
}
</script>
- 2 回答
- 0 关注
- 96 浏览
添加回答
举报