Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中连续if语句的执行顺序_Javascript_If Statement - Fatal编程技术网

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

javascript中连续if语句的执行顺序,javascript,if-statement,Javascript,If Statement,我有几个if语句用于验证 现在的问题是,验证的顺序与我预期的不同 例如,我想检查name字段是否为空,如果为空,则检查它是否在2到30个字符之间。但是当我测试它时,如果我将名称字段留空,它首先会给出错误“名称必须在2到30个字符之间”。它似乎跳过了第一个if语句 那么,为什么会这样呢?为什么它没有按顺序执行 if (Validator.isEmpty(data.name)) { errors.name = "Name field is required"; } if (!Val

我有几个if语句用于验证

现在的问题是,验证的顺序与我预期的不同

例如,我想检查name字段是否为空,如果为空,则检查它是否在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为真,则需要添加代码以结束处理,或者对第二个if使用
else if

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

查看这两个代码片段,并查看其差异。如果您只使用
If(true)
,那么每一个都将执行。要仅执行一个,请使用
if-else()

if(真){
log(“第一条语句为true!”);
}
如果(真){
log(“第二条语句为true!”);
}
如果(真){
log(“第三条语句为true!”);

}
看看这两个代码片段,看看它们之间的区别。如果您只使用
If(true)
,那么每一个都将执行。要仅执行一个,请使用
if-else()

if(真){
log(“第一条语句为true!”);
}
如果(真){
log(“第二条语句为true!”);
}
如果(真){
log(“第三条语句为true!”);

}
它没有“跳转”,如果多个条件为真,后面的
if
语句将覆盖相同的值。对于连续条件,您需要使用
else if
而不是
if
。明白了!谢谢!它没有“跳转”,如果多个条件为真,后面的
if
语句将覆盖相同的值。对于连续条件,您需要使用
else if
而不是
if
。明白了!谢谢!