更短的嵌套 if 语句?

Shorter nested if statements?

我只是想知道,有没有更快的写法?

    if (name == '' && distance == '') {
        y = 2;
    }

    else if (name == '' && distance < 1) {
        y = 2;
    }

我知道我可以将它们放在同一行,但是有没有更简单的方法我不必再次重写 "name == ''" 部分?有点像这样:

    if (name == '' && (distance == '' || distance < 1)) {
        y = 2;
    }

其中将首先评估距离部分,如果满足其中一个参数,则名称 == '' 部分将与之核对。

我会这样写:

if (name === '') {
    if (distance === '') {
        // do stuff
    } else {
        if (distance < 1) {
            // do stuff
        }
    }
}

两个条件都是空的名字,所以如果是空的,那么继续测试距离。

如果能更容易理解,最好多写一点代码

简短而含糊的内容通常很难在以后使用。

实际上,在 javascript '' < 1 === true 中,您可以这样做:

if (name == '' && distance < 1) {
    y = 2;
}
if (name == ' ')
{
    if(distance == ' ')
    {
        y==2
    }
    else if(distance < 1)
    {
        y=2
    }

}

更简单,但意图仍然很明显。