Javascript 如何检查3个变量是否都是空字符串?

Javascript 如何检查3个变量是否都是空字符串?,javascript,if-statement,logical-operators,Javascript,If Statement,Logical Operators,我有3个文本输入字段。我想使用带有逻辑运算符的if语句来检查输入字段是否为空,但我不能对3个变量使用or(| |) 使用逻辑运算符的正确方法是什么 let name = $("#name").val(); let email = $("#email).val(); let color = $("#color).val(); if(name == '' && ( email == '' || color == '') { console.log("please complet

我有3个文本输入字段。我想使用带有逻辑运算符的if语句来检查输入字段是否为空,但我不能对3个变量使用or(| |)

使用逻辑运算符的正确方法是什么

let name = $("#name").val();
let email = $("#email).val();
let color = $("#color).val();

if(name == '' && ( email == '' || color == '') {
  console.log("please complete form");
 }
else {
//submit data
}

如果我将name字段留空,代码将按预期工作,但由于name为true,if语句接受它。如何使if语句检查任何输入字段是否为空?

对每个字段使用
|

if(name === '' || email === '' || color === '') {
您不需要
()
分组,因为操作顺序并不重要-您只想看看是否有任何测试成功

请注意,严格相等比较(
==
)通常比抽象相等比较(
=
)更可取

由于
.val()
总是返回一个字符串,并且您希望对照空字符串进行检查,因此只要检查该值是否真实即可,如果需要:

if(!name || !email || !color) {

对以下各项使用
|

if(name === '' || email === '' || color === '') {
您不需要
()
分组,因为操作顺序并不重要-您只想看看是否有任何测试成功

请注意,严格相等比较(
==
)通常比抽象相等比较(
=
)更可取

由于
.val()
总是返回一个字符串,并且您希望对照空字符串进行检查,因此只要检查该值是否真实即可,如果需要:

if(!name || !email || !color) {

空字符串被视为“falsy”,这意味着在使用逻辑运算符时,它被解释为
false
。将这些知识与
结合使用(非)运算符,我们可以执行以下操作:

if(!name || !email || !color) {
  console.log("please complete form");
}

该条件在简单的英语中表示“如果没有名字或没有电子邮件或没有颜色”

空字符串被视为“falsy”,这意味着在使用逻辑运算符时它被解释为
false
。将这些知识与
结合使用(非)运算符,我们可以执行以下操作:

if(!name || !email || !color) {
  console.log("please complete form");
}
用简单的英语来说,这个条件的意思是“如果没有名字或没有电子邮件或没有颜色”

您有一个语法错误(在
if
语句中忘记了一个括号)

出现语法错误(在
if
语句中忘记了括号)


您可能不需要JS。只需将这些字段设置为必需的
,这样就可以了。您是否也尝试过:
如果(名称=“”| |电子邮件=“”| |颜色=“”)
您的代码是“如果名称为空,电子邮件或颜色为空”。它们中的任何一个都不是空的。为什么你说不能对这三个变量使用OR运算符呢?你可能不需要JS。只需将这些字段设置为必需的
,这样就可以了。您是否也尝试过:
如果(名称=“”| |电子邮件=“”| |颜色=“”)
您的代码是“如果名称为空,电子邮件或颜色为空”。它们中的任何一个都不是空的。为什么你说不能对这三个变量使用OR运算符呢?这真的很有帮助!谢谢。那真的很有帮助!非常感谢。