这个嵌套的If语法有什么问题?



是这个简单嵌套if语句练习的指令:创建一个小的JavaScript程序:

Prompts a user for their name.
Prompts the user for their age.
Uses an if statement to determine if a person is 18 or older.
Alerts "Hello <user>, you are an adult" if they are 18 or older.
Uses a nested if statement to check to see if adults are retired (leave the children alone)
Alerts "You are retired!" if they are 65 or over.
Alerts "Hello <user>, you are a child" if they are not 18 or older.

输出如下所示:

Users under 18
Hello <user> you are a child
Users 18 and over
Hello <user> you are an adult
Adults 65 and over
You are retired!

所以我不确定当我为65岁以上的用户写第二个if语句时发生了什么样的错误。我在代码部分包含了语法。这是一个简单的结构,但我不知道为什么输出不正确。

<script type="text/javascript">
var Name;
var Age;

Name = prompt("Please enter your name.", "full name");
Age = parseInt(prompt("Please enter your age.", "age in numerals"));

if (Age >= 19)
{
alert("Hello " + Name + " you are an adult.");
}
if (Age >= 65)
{
alert("You are retired!");
}
else 
{
alert("Hello " + Name + " you are a child.");
}
</script>

问题在于它实际上并没有嵌套。您需要将第二个if放在第一个if块中。

你写的方式,else与65岁及以上的测试相关,而不是18岁及以上的测试。

19也应该是18

var Name;
var Age;
Name = prompt("Please enter your name.", "full name");
Age = parseInt(prompt("Please enter your age.", "age in numerals"));
if (Age >= 18) {
alert("Hello " + Name + " you are an adult.");
if (Age >= 65) {
alert("You are retired!");
}
} else {
alert("Hello " + Name + " you are a child.");
}

最新更新