Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IF语句未按预期返回_Javascript_Jquery - Fatal编程技术网

Javascript IF语句未按预期返回

Javascript IF语句未按预期返回,javascript,jquery,Javascript,Jquery,我试图编写一个简单的javascript代码来生成一个随机门(door1或door2,如果生成了door1,就会出现短语“youwin” 现在,尽管生成了door1或door2,输出仍然是“youlose”。我做错了什么 let doors=[“door1”、“door2”] 函数selectDoor(){ const randomDoor=doors[Math.round(Math.random())] 控制台日志(随机门) } 如果(选择门()=“门1”){ console.log('yo

我试图编写一个简单的javascript代码来生成一个随机门(door1或door2,如果生成了door1,就会出现短语“youwin”

现在,尽管生成了door1或door2,输出仍然是“youlose”。我做错了什么

let doors=[“door1”、“door2”]
函数selectDoor(){
const randomDoor=doors[Math.round(Math.random())]
控制台日志(随机门)
}
如果(选择门()=“门1”){
console.log('youwin')
}否则{
console.log('你输了')

}
您没有从
选择门返回
随机门

function selectDoor(){
  const randomDoor = doors[Math.round(Math.random())]
  console.log(randomDoor)
  return randomDoor
}

不返回任何内容等同于返回
未定义的
,当与比较运算符一起使用时,这是一个有效的

您没有从
选择门返回
随机门

function selectDoor(){
  const randomDoor = doors[Math.round(Math.random())]
  console.log(randomDoor)
  return randomDoor
}

不返回任何内容等同于返回
未定义的
,当与比较运算符一起使用时,它实际上是一个

您应该在函数中返回值

let doors = ["door1", "door2"]

function selectDoor(){
const randomDoor = doors[Math.round(Math.random())]
console.log(randomDoor);
return randomDoor;
}


if(selectDoor() === "door1"){
    console.log('you win')
} else {
    console.log('you lose')
}

您应该在函数中返回值

let doors = ["door1", "door2"]

function selectDoor(){
const randomDoor = doors[Math.round(Math.random())]
console.log(randomDoor);
return randomDoor;
}


if(selectDoor() === "door1"){
    console.log('you win')
} else {
    console.log('you lose')
}

selectDoor()
没有返回任何内容,因此它始终为false。不要忘记从
doors
Math.round(Math.random())中正确选择随机元素
只会给你一个0或1,这就是为什么在你只有两扇门的情况下它会工作的原因。如果你添加了另一扇门,你会看到问题。你可以使用
门[Math.floor(Math.random()*doors.length)]来解决这个问题。
选择门()
没有返回任何内容,因此它始终为false。不要忘记从
门中正确选择一个随机元素。round(Math.random())
只会给你一个0或1,这就是为什么在你只有两扇门的情况下它会起作用。如果你添加了另一扇门,你会看到问题。你可以使用
门解决这个问题[Math.floor(Math.random()*doors.length)]
成功了,我错过了回报。谢谢!完美答案!成功了,我错过了回报。谢谢!完美答案!