函数 return 布尔语句
Function return boolean statement
任务说明
你在这个 activity 中的任务是创建一个函数,通过检查一个人的年龄来检查一个人是否达到可以投票的年龄。此函数称为 isOldEnoughToVote(age) 并具有以下规范:
它需要一个名为 age 的参数来表示人的年龄。
它检查年龄是否大于或等于 18 岁。
如果 returns 基于该比较是真还是假。
这是我到目前为止写的,但它说结果未定义,我想知道为什么。
let response;
var age = 18
// Add your code here
function isOldEnoughToVote(age) {
if (age >= 18){
result; 'true'
}else{
result; 'false'
}
您的代码示例使用 result; 'true'
(例如)来指示 true
结果。这没有任何作用 - 事实上它根本不正确。
应该使用 return true
:
让回应;
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
console.log(isOldEnoughToVote(10));
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(50));
然而,这可以通过返回 age >= 18
:
的结果进一步简化
function isOldEnoughToVote(age) {
return age >= 18;
}
console.log(isOldEnoughToVote(10));
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(50));
几个错别字:;
应该是 =
而你实际上应该 return 一个布尔值,而不是一个字符串值:
function isOldEnoughToVote(age) {
return age >= 18;
}
console.log(isOldEnoughToVote(17)); // false
console.log(isOldEnoughToVote(18)); // true
或者,如果您更喜欢 Arrow functions
const isOldEnoughToVote = (age) => age >= 18;
// The first => is an arrow function's "Fat Arrow"
// The second >= is an greater-or-equal operator
console.log(isOldEnoughToVote(17)); // false
console.log(isOldEnoughToVote(18)); // true
关于你的代码,还有那个 response
变量,但你从来没有给它赋值,而是试图用那个 result; 'true'
.
做一些事情
如果你真的需要return两个字符串"true"
和 "false"
你可以这样做:
function isOldEnoughToVote(age) {
if (age < 18) {
return "false";
} else {
return "true";
}
}
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
或者使用箭头函数和 Ternary operator ?:
const isOldEnoughToVote = (age) => age < 18 ? "false" : "true";
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
或者您可以使用 .toString():
将布尔值转换为字符串
const isOldEnoughToVote = (age) => (age >= 18).toString();
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
但我仍然认为您的任务应该是 return 布尔值,而不是字符串 :)
let response;
var age = 18
// Add your code here
function isOldEnoughToVote(age) {
if (age >= 18){
return true;
} else {
return false;
}
}
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(8));
该错误表示函数内的变量 result
未定义。
虽然您根本不需要这样做,return 直接使用布尔值。
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
在上面,您不需要 else
因为它是唯一的其他结果。所以你可以这样做:
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
}
return false;
}
或者您可以更简单地 return 比较结果。
function isOldEnoughToVote(age) {
return age >= 18;
}
任务说明
你在这个 activity 中的任务是创建一个函数,通过检查一个人的年龄来检查一个人是否达到可以投票的年龄。此函数称为 isOldEnoughToVote(age) 并具有以下规范: 它需要一个名为 age 的参数来表示人的年龄。 它检查年龄是否大于或等于 18 岁。 如果 returns 基于该比较是真还是假。
这是我到目前为止写的,但它说结果未定义,我想知道为什么。
let response;
var age = 18
// Add your code here
function isOldEnoughToVote(age) {
if (age >= 18){
result; 'true'
}else{
result; 'false'
}
您的代码示例使用 result; 'true'
(例如)来指示 true
结果。这没有任何作用 - 事实上它根本不正确。
应该使用 return true
:
让回应;
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
console.log(isOldEnoughToVote(10));
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(50));
然而,这可以通过返回 age >= 18
:
function isOldEnoughToVote(age) {
return age >= 18;
}
console.log(isOldEnoughToVote(10));
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(50));
几个错别字:;
应该是 =
而你实际上应该 return 一个布尔值,而不是一个字符串值:
function isOldEnoughToVote(age) {
return age >= 18;
}
console.log(isOldEnoughToVote(17)); // false
console.log(isOldEnoughToVote(18)); // true
或者,如果您更喜欢 Arrow functions
const isOldEnoughToVote = (age) => age >= 18;
// The first => is an arrow function's "Fat Arrow"
// The second >= is an greater-or-equal operator
console.log(isOldEnoughToVote(17)); // false
console.log(isOldEnoughToVote(18)); // true
关于你的代码,还有那个 response
变量,但你从来没有给它赋值,而是试图用那个 result; 'true'
.
如果你真的需要return两个字符串"true"
和 "false"
你可以这样做:
function isOldEnoughToVote(age) {
if (age < 18) {
return "false";
} else {
return "true";
}
}
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
或者使用箭头函数和 Ternary operator ?:
const isOldEnoughToVote = (age) => age < 18 ? "false" : "true";
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
或者您可以使用 .toString():
将布尔值转换为字符串const isOldEnoughToVote = (age) => (age >= 18).toString();
console.log(isOldEnoughToVote(17)); // "false"
console.log(isOldEnoughToVote(18)); // "true"
但我仍然认为您的任务应该是 return 布尔值,而不是字符串 :)
let response;
var age = 18
// Add your code here
function isOldEnoughToVote(age) {
if (age >= 18){
return true;
} else {
return false;
}
}
console.log(isOldEnoughToVote(18));
console.log(isOldEnoughToVote(8));
该错误表示函数内的变量 result
未定义。
虽然您根本不需要这样做,return 直接使用布尔值。
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
在上面,您不需要 else
因为它是唯一的其他结果。所以你可以这样做:
function isOldEnoughToVote(age) {
if (age >= 18) {
return true;
}
return false;
}
或者您可以更简单地 return 比较结果。
function isOldEnoughToVote(age) {
return age >= 18;
}