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 if
for。
另一答案
看看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语句的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章