Javascript 为什么在我运行代码时会发生这种情况
嘿,伙计们,只是当我运行这段代码时,我会收到三个警报,分别是“你赢了!”、“这是平局!”和“你输了”,而这些警报应该只有一个。这是一个石头剪刀布游戏代码的哪一部分是错误的我试过了,但找不到它Javascript 为什么在我运行代码时会发生这种情况,javascript,if-statement,Javascript,If Statement,嘿,伙计们,只是当我运行这段代码时,我会收到三个警报,分别是“你赢了!”、“这是平局!”和“你输了”,而这些警报应该只有一个。这是一个石头剪刀布游戏代码的哪一部分是错误的我试过了,但找不到它 var userAnswer = prompt("Rock, Paper or Scissor"); var theEnemy; var d = Math.floor(Math.random() * 10 + 1); document.write(d); if(d === 3 || d === 2 |
var userAnswer = prompt("Rock, Paper or Scissor");
var theEnemy;
var d = Math.floor(Math.random() * 10 + 1);
document.write(d);
if(d === 3 || d === 2 || d === 1){
var theEnemy = "Paper"
if(userAnswer = "Rock"){
alert("You lost!");
}
if(userAnswer = "Paper"){
alert("it's a tie!");
}
if(userAnswer = "Scissor"){
alert("You won");
}
}
if(d === 7 || d === 6 || d === 5 || d === 4){
var theEnemy="Rock";
if(userAnswer = "Rock"){
alert("it's a tie!");
}
if(userAnswer = "Paper"){
alert("YOu won!");
}
if(userAnswer = "Scissor"){
alert("You lost!");
}
}
if(d === 8 || d === 9 || d=== 10){
var theEnemy="Scissor";
if(userAnswer = "Rock"){
alert("You lost!");
}
if(userAnswer = "Paper"){
alert("You won!");
}
if(userAnswer = "Scissor"){
alert("It's a tie");
}
}
当您正确地使用
==
检查d
的值时,您使用的是=
而不是==
检查userAnswer
的值
=
将右侧的值分配给左侧的变量
比较运算符(检查操作数的类型和值)
使用==
进行检查。例如:userAnswer==“摇滚乐”
var userAnswer=prompt(“石头、纸或剪刀”);
var Thenemy;
var d=数学地板(数学随机()*10+1);
文件编写(d);
如果(d==3 | | d==2 | | d==1){
var theEnemy=“纸张”
如果(userAnswer==“摇滚乐”){
警惕(“你输了!”);
}
如果(用户回答==“纸张”){
警惕(“打成平局!”);
}
if(userAnswer==“剪刀”){
警惕(“你赢了”);
}
}
如果(d==7 | | d==6 | | d==5 | | d==4){
var theEnemy=“岩石”;
如果(userAnswer==“摇滚乐”){
警惕(“打成平局!”);
}
如果(用户回答==“纸张”){
警惕(“你赢了!”);
}
if(userAnswer==“剪刀”){
警惕(“你输了!”);
}
}
如果(d==8 | | d==9 | | d==10){
var theEnemy=“剪刀”;
如果(userAnswer==“摇滚乐”){
警惕(“你输了!”);
}
如果(用户回答==“纸张”){
警惕(“你赢了!”);
}
if(userAnswer==“剪刀”){
警惕(“打成平局”);
}
}
您不是在检查,而是在分配值
if(d === 3 || d === 2 || d === 1){
var theEnemy = "Paper"
if(userAnswer == "Rock"){
alert("You lost!");
}
if(userAnswer == "Paper"){
alert("it's a tie!");
}
if(userAnswer == "Scissor"){
alert("You won");
}
}
在您应使用检查的if条件中,单个等于用于赋值==
var userAnswer = prompt("Rock, Paper or Scissor");
var theEnemy;
var d = Math.floor(Math.random() * 10 + 1);
document.write(d);
if (d === 3 || d === 2 || d === 1) {
var theEnemy = "Paper"
if (userAnswer == "Rock") {
alert("You lost!");
}
if (userAnswer == "Paper") {
alert("it's a tie!");
}
if (userAnswer == "Scissor") {
alert("You won");
}
}
if (d === 7 || d === 6 || d === 5 || d === 4) {
var theEnemy = "Rock";
if (userAnswer == "Rock") {
alert("it's a tie!");
}
if (userAnswer == "Paper") {
alert("YOu won!");
}
if (userAnswer == "Scissor") {
alert("You lost!");
}
}
if (d === 8 || d === 9 || d === 10) {
var theEnemy = "Scissor";
if (userAnswer == "Rock") {
alert("You lost!");
}
if (userAnswer == "Paper") {
alert("You won!");
}
if (userAnswer == "Scissor") {
alert("It's a tie");
}
}
= != == != ===. 你应该调查一下。如果陈述使用==而不是==,那么你正在做所有的助教。当
用户回答时,“纸”和敌人“剪刀”,警报应该是丢失的,而不是赢的