2

私はコーディングに非常に慣れていないため (codeacademy を使用して Javascript を学習しています)、現在取り組んでいるこのミニ プロジェクトについて少し助けが必要です。私は、コンピューターに 2 つの異なる配列から男の子の名前または女の子の名前をランダムに選択させようとしています。if/else ステートメントを使用して、コンピューターに boynames 配列または girlnames 配列のどちらかを選択させました。何らかの理由でコードを実行すると、女の子の名前のループ (「if」の部分) のみが実行され、男の子の名前のループ (「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>
4

3 に答える 3

3

if (useranswer = "girl") {

  • ==そこでは 2 つの等号 ( )を使用する必要があります
  • この理由は、 singleは割り当てであり、値を variable に=割り当てていることを示しているためです。代入はエラーなしで行われ、条件式 ( ) の値になります。そのため、ブロック内のすべてが実行/実行されますgirluseranswertrueif(true){
于 2013-06-08T18:50:54.247 に答える