我对编码非常陌生(使用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>
答案 0 :(得分:4)
这是因为您使用了=
而不是==
。
单个等号用于赋值,两个等号用于比较。
答案 1 :(得分:3)
您需要==
才能返回布尔语句:
if (useranswer = "girl") {
要:
if (useranswer == "girl") {
答案 2 :(得分:3)
if (useranswer = "girl") {
==
)=
是一项分配,表示您将值girl
分配给变量useranswer
。赋值将无错误地发生,从而导致条件表达式的true
值(if(true){
);所以块内的所有内容都将被运行/执行