javascript中连续if语句的执行顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中连续if语句的执行顺序相关的知识,希望对你有一定的参考价值。

我有几个if语句用于验证目的。

现在的问题是验证的顺序不如我预期的那样。

例如,我想检查名称字段是否为空,如果为空,请检查它是否在2到30个字符之间。但是当我测试它时,如果我将名称保留为空白,它首先会给出错误“名称必须在2到30个字符之间”。它似乎跳过了第一个if声明。

那么,为什么会这样呢?为什么它不按顺序执行

  if (Validator.isEmpty(data.name)) {
    errors.name = "Name field is required";
  }

if (!Validator.isLength(data.name, { min: 2, max: 30 })) {
    errors.name = "Name must be between 2 and 30 characters";
  }



 if (Validator.isEmpty(data.email)) {
    errors.email = "Email field is required";
  }

  if (!Validator.isEmail(data.email)) {
    errors.email = "Email is invalid";
  }
答案

它确实按顺序执行,但是你的第二个if只是覆盖了第一个if的消息。如果第一个if为true,则需要添加代码以结束处理,或者在第二个时使用else iffor。

另一答案

看看2个片段,看看差异。如果你只使用if (true),每一个都会执行。要只执行一次,请使用if else ()

if (true) {
  console.log("First statement is true!");
}
if (true) {
  console.log("Second statement is true!");
}
if (true) {
  console.log("Third statement is true!");
}

以上是关于javascript中连续if语句的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的流程控制语句以及函数

JavaScript的流程控制语句以及函数

JavaScript流程控制语句

JavaScript基础 if 循环 for 循环

JavaScript语句的使用

Javascript 基础学习js 的语句