尝试在JavaScript中创建工厂,当我将值传递给工厂时,我希望它返回正确的字符串而不是整数。
function Factory(amount){
switch (amount) {
case amount == 1:
return "one "
break;
case amount == 2:
return "two "
break;
case amount > 2:
return "more than two "
break;
}
return amount;
}
var per1 = Factory(1);
console.log(per1, 'per1');
var per2 = Factory(2);
var per3 = Factory(3);
但是当我退出per1
时,我得到了值:1
而不是'one '
。
我做得怎么样?
答案 0 :(得分:3)
Switch case适用于值,而不是true/false
function Factory(amount){
switch (amount) {
case 0:
return "zero "
case 1:
return "one "
case 2:
return "two "
default:
return "more than two "
}
}
由于您已经拥有break
,因此您也不需要return
。
如果上面没有提到,default
案件处理其余案件。因此,您也不需要return amount
作为后备。
答案 1 :(得分:1)
function Factory(amount){
switch (amount) {
case 1:
return "one "
case 2:
return "two "
default:
return "more than two "
}
}
像这样改变你的情况
答案 2 :(得分:0)
试试这个
function Factory(amount){
switch (amount) {
case 1:
return "one "
break;
case 2:
return "two "
break;
}
return amount;
}
console.log(Factory(1))
//output "one"