Javascript-带开关语句的石头、布、剪刀?如果没有,还有什么替代方案?
我正在运行下面的代码,它只打印“Draw!”其他案例不起作用,我做错了什么Javascript-带开关语句的石头、布、剪刀?如果没有,还有什么替代方案?,javascript,if-statement,switch-statement,Javascript,If Statement,Switch Statement,我正在运行下面的代码,它只打印“Draw!”其他案例不起作用,我做错了什么 constrps=(p1,p2)=>{ var s=‘剪刀’; var p=‘纸张’; var r=‘岩石’; var ans=“”; 交换机(rps){ 案例(p1==p&&p2==r):案例(p1==s&&p2==p):案例(p1==r&&p2==s): ans=(“玩家1赢了!”); 打破 案例(p1==s&&p2==r):案例(p1==r&&p2==p):案例(p1==p&&p2==s): ans=(“玩家2赢
constrps=(p1,p2)=>{
var s=‘剪刀’;
var p=‘纸张’;
var r=‘岩石’;
var ans=“”;
交换机(rps){
案例(p1==p&&p2==r):案例(p1==s&&p2==p):案例(p1==r&&p2==s):
ans=(“玩家1赢了!”);
打破
案例(p1==s&&p2==r):案例(p1==r&&p2==p):案例(p1==p&&p2==s):
ans=(“玩家2赢了!”);
打破
默认值:ans=('Draw!');
打破
}
返回ans
}
rps(“纸”、“剪刀”)
开关
将您输入的值(rps
这是一个函数)与每个案例
(将是true
或false
)进行比较
由于该函数从不匹配布尔值,因此最终总是使用默认情况
我做错了什么
尝试使用开关
来处理它不太适合的事情
使用if
和else
。正如昆廷所说,使用“if”代替您要查找的
if
/else
,而不是开关
——它不是为布尔条件求值而设计的