javascript - 为什么我使用 switch 的程序总是默认
问题描述
我的程序总是输出不应该发生的测试。它就像程序正在跳过案例以立即进入默认状态。我不明白为什么会这样。我花了 30 分钟才找到解决方案,但我不明白为什么会这样。
谢谢你帮助我!
var ani;
let ans;
let prix;
var total;
var arm1;
var arm2;
let nombrearmure;
nombrearmure = 0;
ani = prompt("Entrez votre type d'animal : ");
switch (ani.toLowerCase) {
case 'c' :
ans = prompt('Voulez vous acheter une épée pour 100$ ? : ');
if (ans.toLowerCase() === 'o'){
prix = 100;
nombrearmure = 1;
} else {
if (ans.toLowerCase() === 'n') {
console.log('Épée refusé');
} else {
console.log('Réponse non valide');
}
}
ans = prompt('Voulez vous acheter une corne de licorne pour 500 $ ? : ');
if(ans.toLowerCase() === 'o'){
prix = prix+500;
nombrearmure = nombrearmure + 2;
} else {
if (ans.toLowerCase() === 'n'){
console.log('Corne de licorne refusé');
} else {
console.log('Réponse invalide');
}
}
break;
case 'l' :
ans = prompt('Voulez vous acheter un casque(100-200$) : ');
if (ans.toLowerCase() === 'o'){
ans = parseInt(prompt('Appuyez sur 1 pour un casque noir (100$) ou 2 pour un casque multicolore (200$) : '));
switch(ans){
case 1 :
prix = 100;
nombrearmure = 1;
break;
case 2 :
prix = 200
nombrearmure = 2;
break;
default :
console.log('Réponse invalide')
return 1;
}
} else {
if(ans.toLowerCase === 'n'){
console.log('Casque refusé');
} else {
}
}
default:
console.log('test');
}
解决方案
你在做ani.toLowerCase
。应该是ani.toLowerCase()
。同时删除返回 1。
推荐阅读
- oracle - 由于临时空间已满,作业失败
- mstest - MSTest:[ClassInitialize] 和 [ClassCleanup] 导致“未运行”
- python - 如何使用 python 将波斯语文本保存在 csv 文件中?
- javascript - 无法将对象数组传递给 useState 列表
- c++ - 如何在 C、C++ 中调用具有当前函数名的函数?
- python - 为列中的不同值编写 np.where 的优雅方式
- mongodb - Spring Boot中的Mongodb Object_id
- javascript - 当菜单移动打开时,我设法在正文上禁用滚动,但是当我打开菜单移动时,桌面/正文页面总是回到顶部
- laravel - OnSuccess 中的 Laravel 计划命令不起作用
- json - 从复杂的 JSON 结构中提取数据