这是我的代码
let user = {
fName: 'john',
lName: 'doe',
uName: 'jDoe23',
age: 18,
};
function helloUser(user) {
if(user.fName === true && user.lName === true && user.age >= 18) {
console.log(`Hello ${user.uName}. Welcome to the world of wonders.`);
} else {
console.log("Please get a parent's permission before playing this game.")
}
};
helloUser(user);
我对编码和 JavaScript 很陌生,但我对对象和函数之间的关系有点困惑。当我运行代码时,它会记录“玩此游戏之前请获得家长的许可。
我尝试使 if/else 语句的第一部分等于 true,但它的评估结果相同。有人可以解释一下并帮助我吗?
当您使用
user.fName === true && user.lName === true && user.age >= 18
这意味着:
user.fName
等于true
并且user.lName
等于true
由于
user.fName
=“Kado”等,此条件不成功,因此它进入else
问题出在if语句条件上:
if(user.fName === true && user.lName === true && user.age >= 18)
它表示如果 user.fName 等于布尔值
true
并且 user.lname 等于布尔值 true
并且 user.age 至少为 18。如果所有这些条件都为真 console.log(`Hello ${user.uName}. Welcome to the world of wonders.`);
将起作用,否则 else 语句.
如果您想检查用户是否有
fname
、lname
和 age >=18
那么此条件有效:
function helloUser(user) {
if(user.fName && user.lName && user.age >= 18) {
console.log(`Hello ${user.uName}. Welcome to the world of wonders.`);
} else {
console.log("Please get a parent's permission before playing this game.")
}
};