首页 > 解决方案 > 变量作为Javascript中的条件

问题描述

我正在尝试创建基于性别的简单名称生成器,首先我编写了创建性别的函数

function getGender () {
  var genders = ["Female", "Male"]
  var gender = genders[Math.floor(Math.random() * genders.length)]
  return gender
}

然后我有条件,应该选择从第一个函数中根据性别调用函数

function getName() {
  if (gender = ["Male"]) {
    getFullName()
  } else {
    getFemaleFullName()
  }
}

但是导致 console.log 仍然是未定义的,但是对于其他函数,当我在 console.log 中调用它们时,它们会写下预期的结果。

标签: javascriptarraysyoutube-apidom-eventsjavascript-objects

解决方案


看评论:

var genders = ["Female", "Male"];
let gender = "";

function getGender () {
  gender = genders[Math.floor(Math.random() * genders.length)];
}

function getName() {
  // === is used to test strict equality
  // and you need to test for the string
  // that was in the array, not an array
  // that contains a string.
  if (gender === "Male") {
    console.log("Male was chosen.");
  } else {
    console.log("Female was chosen.");
  }
}

getName(getGender());


推荐阅读