Javascript 错误的赋值,逻辑运算符
我在代码学院学习Javascript。这是我接受的测试 在eat函数中,创建一个if语句,该语句仅在饥饿和食物都为true时返回true,否则返回false 下面的代码正在执行,但有一个警告。有什么问题吗Javascript 错误的赋值,逻辑运算符,javascript,Javascript,我在代码学院学习Javascript。这是我接受的测试 在eat函数中,创建一个if语句,该语句仅在饥饿和食物都为true时返回true,否则返回false 下面的代码正在执行,但有一个警告。有什么问题吗 var hungry = true; var foodHere = true; var eat = function() { if(hungry && foodHere){ console.log("I am hungry"); }else if(hun
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else if(hungry && foodHere = false){
console.log("Choose one");
}
};
eat();
Single=用于赋值,==用于比较
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else if(hungry && foodHere == false){
console.log("Choose one");
}
};
eat();
无论如何,您不需要第二次比较,因为如果第一次比较为false,它将始终通过else进行比较
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else if(hungry && foodHere == false){
console.log("Choose one");
}
};
eat();
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else {
console.log("Choose one");
}
};
eat();
无论如何,你不需要第二次比较,因为如果第一次比较是错误的,它将始终通过另一次比较
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else {
console.log("Choose one");
}
};
eat();
问题是,您试图在条件foodher=false
中指定一个值。如果要比较所需的内容,并且要确保类型相同,请使用==
。
但你根本不需要那种条件
赋值要求您返回布尔值(true
或false
),而不是打印某些内容,因此我猜您的代码应该如下所示:
var hungry = true;
var foodHere = true;
var eat = function() {
return (hungry && foodHere)
};
eat();
问题是,您试图在条件foodher=false
中指定一个值。如果要比较所需的内容,并且要确保类型相同,请使用==
。
但你根本不需要那种条件
赋值要求您返回布尔值(true
或false
),而不是打印某些内容,因此我猜您的代码应该如下所示:
var hungry = true;
var foodHere = true;
var eat = function() {
return (hungry && foodHere)
};
eat();
=用于赋值,==用于值比较,==用于值和数据类型比较。因此,在与false进行比较时,可以使用==。但这不是最佳做法。我们总是用“!”将true转换为false时的否定运算符
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else if(!hungry || !foodHere){
console.log("Choose one");
}
};
eat()
我使用的是| |运算符,假设任何一个都需要为false。如果两个false都是必需的,则可以选择&&=用于赋值,==用于值比较,==用于值和数据类型比较。因此,在与false进行比较时,可以使用==。但这不是最佳做法。我们总是用“!”将true转换为false时的否定运算符
var hungry = true;
var foodHere = true;
var eat = function() {
if(hungry && foodHere){
console.log("I am hungry");
}else if(!hungry || !foodHere){
console.log("Choose one");
}
};
eat()
我使用了| |运算符,假设任何一个都必须为false。如果两个false都是必需的,你可以使用&&我只想为emilioicai的答案提供更多信息,JavaScript中有两种“相等比较”
参考资料:我只想为emilioicai的回答提供更多信息,JavaScript中有两种“相等比较”
参考:
=
是赋值运算符<代码>=是一个比较运算符。更好的方法是使用!foodher
而不是foodher==false
。由您自己来决定代码>意味着。他们没有提到console.log;-)<代码>=
是赋值运算符<代码>=是一个比较运算符。更好的方法是使用!foodher
而不是foodher==false
。由您自己来决定代码>意味着。他们没有提到console.log;-)