Javascript 我的switch语句有问题。保持默认值
试图在OOP方面做得更好。我似乎无法使这个switch语句起作用。控制台会记录正确的值(级别),但switch语句中的大小写无法识别。我一直收到默认消息Javascript 我的switch语句有问题。保持默认值,javascript,switch-statement,conditional-statements,Javascript,Switch Statement,Conditional Statements,试图在OOP方面做得更好。我似乎无法使这个switch语句起作用。控制台会记录正确的值(级别),但switch语句中的大小写无法识别。我一直收到默认消息 function Haircut(adult, price, gratuity, gratuityAmount) { this.adult = adult; this.price = price; this.gratuity = gratuity; this.gratuityAmount = gratuityAm
function Haircut(adult, price, gratuity, gratuityAmount) {
this.adult = adult;
this.price = price;
this.gratuity = gratuity;
this.gratuityAmount = gratuityAmount;
}
Haircut.prototype.status = function () {
const level = parseInt(this.gratuityAmount);
console.log(level);
switch (level) {
case level >= 20:
console.log("You are a Platinum Level Client!");
break;
case level >= 15:
console.log("You are a Gold Level Client!");
break;
case level >= 10:
console.log("You are a Silver Level Client!");
break;
case level >= 5:
console.log("You are a Bronze Level Client!");
break;
default:
console.log("You don't tip! That sucks!");
}
};
基本上,在switch语句中直接使用大于和小于是不可能的。 但在中,您可以直接实现上述代码,如下所示:
switch (true) {
case level >= 20:
console.log("You are a Platinum Level Client!");
break;
case level >= 15:
console.log("You are a Gold Level Client!");
break;
case level >= 10:
console.log("You are a Silver Level Client!");
break;
case level >= 5:
console.log("You are a Bronze Level Client!");
break;
default:
console.log("You don't tip! That sucks!");
}
意思是,请尝试通过switch(true)
更改switch(level)
,然后重试。
无论如何,我建议使用
if,else-if,else
语句,而不是在这种情况下切换。谢谢。我最终还是用了if/else语句