javascript - 如何检查 3 个变量中的每一个是否都是空字符串?

标签 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 complete form");
 }
else {
//submit data
}

如果我将名称字段留空,代码将按预期工作,但由于名称为 true,因此 if 语句接受它。我怎样才能让 if 语句检查是否有任何输入字段为空?

最佳答案

对每个使用 ||:

if(name === '' || email === '' || color === '') {

您不需要 () 分组,因为操作顺序并不重要 - 您只想查看是否有任何测试成功。 p>

请注意,严格相等比较 (===) 几乎总是优于抽象相等比较 (==)。

因为 .val() 总是返回一个字符串,并且您想检查空字符串,所以如果您愿意,您可以只检查该值是否为真:

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

关于javascript - 如何检查 3 个变量中的每一个是否都是空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617152/

相关文章:

boolean - 异或多数代数逻辑

JavaScript 更改页面上的链接?

c# - 如何解码使用 encodeURIComponent() 在 JS 中编码的 HTML?

python - 使用 while 或 if 作为递归条件会导致不同的结果

java - for 循环中的 String.charAt(i) 在 Java 中不起作用

Java 正则表达式小数点后一位匹配

php - 我可以用两个吗 ||和一个 && 在 PHP 中的同一个 if 语句中?

javascript - 在 CRM 2011 的 Web 资源中出现错误对象不支持属性或方法 'setSrc'

javascript - 如何在vue2中的过滤列表中保留项目的引用

javascript - (更改)angular2 中的事件 Hook