Javascript 在我的;如果/否则“;“我的声明”;否则";报表isn';行不通

Javascript 在我的;如果/否则“;“我的声明”;否则";报表isn';行不通,javascript,if-statement,Javascript,If Statement,我对编码非常陌生(使用codeacademy学习Javascript),我需要一些帮助来完成我正在进行的这个小项目。我试图让计算机从两个不同的数组中随机选择一个男孩的名字或女孩的名字。我使用if/else语句让计算机在boynames数组和girlnames数组之间进行选择。出于某种原因,当我运行代码时,它只执行girlname循环(“if”部分),而不运行boyname循环(“else”部分)。关于如何让它正确执行if/else函数,有什么建议吗?代码如下,提前谢谢 <script>

我对编码非常陌生(使用codeacademy学习Javascript),我需要一些帮助来完成我正在进行的这个小项目。我试图让计算机从两个不同的数组中随机选择一个男孩的名字或女孩的名字。我使用if/else语句让计算机在boynames数组和girlnames数组之间进行选择。出于某种原因,当我运行代码时,它只执行girlname循环(“if”部分),而不运行boyname循环(“else”部分)。关于如何让它正确执行if/else函数,有什么建议吗?代码如下,提前谢谢

<script>

var lastname = prompt("What is your last name?");
var useranswer = prompt("Are you having a baby girl or boy");

var girlnames = ["Lana", "Michelle", "Rebecca", "Angelina", "Carrie", "Natalia",
    "Rosie", "Heather", "Monica", "Lindsay"]

var random = girlnames[Math.floor(Math.random() * girlnames.length)];

var boynames = ["Justin", "Ryan", "Adler", "Darren", "Michael", "Kyle", "Taylor",
    "Winston", "Jacob", "Samuel", "Oliver"]

var rand = boynames[Math.floor(Math.random() * boynames.length)];


if (useranswer = "girl") {
    for (var i = 0; i <= girlnames.length; i++) {
        confirm("Your future daughter's name is" + " " + random + " " + lastname);
    }
} else {
    for (var j = 0; j <= boynames.length; j++) {
        confirm("Your future son's name is" + " " + rand + " " + lastname);
    }
}      

</script>

var lastname=prompt(“您姓什么?”);
var useranswer=prompt(“您有女婴还是男婴”);
var girlnames=[“拉娜”、“米歇尔”、“丽贝卡”、“安吉丽娜”、“嘉莉”、“娜塔莉亚”,
“罗西”、“希瑟”、“莫妮卡”、“林赛”]
var random=girlnames[Math.floor(Math.random()*girlnames.length)];
var boynames=[“贾斯汀”、“瑞安”、“阿德勒”、“达伦”、“迈克尔”、“凯尔”、“泰勒”,
“温斯顿”、“雅各布”、“塞缪尔”、“奥利弗”]
var rand=boynames[Math.floor(Math.random()*boynames.length)];
if(useranswer=“girl”){

对于(var i=0;i,这是因为您使用了
=
而不是
=


一个等号用于赋值,两个等号用于比较。

您需要
=
返回布尔语句:

if (useranswer = "girl") {
致:

if(useranswer=“girl”){

  • 您需要在那里使用两个等号(
    =
  • 原因是单个
    =
    是一个赋值,表示您正在将值
    girl
    赋值到变量
    useranswer
    。赋值不会出错,从而导致条件表达式的
    true
    值(
    if(true){
    );因此块中的所有内容都将运行/执行

在if条件下尝试
=
而不是
=
赋值,
=
比较两个值。有一个技巧可以避免此类错误:将文本放在等号的左侧(
“girl”==useranswer
)如果您不小心使用了赋值运算符而不是比较运算符,则会导致语法错误。谢谢您的帮助!谢谢您的评论,我完全错过了!谢谢您的帮助!@user2466886不客气
if (useranswer == "girl") {