嵌套if语句更短?

时间:2015-09-18 02:26:01

标签: javascript jquery html5 if-statement

我只是想知道,有更快的方式来写这个吗?

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

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

我知道我可以把它们放在同一条线上,但有一种更简单的方法,我不必再次重写“name ==''”部分吗?有点像这样:

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

首先评估距离部分,如果满足其中一个参数,则名称==''部分将用它进行检查。

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

}

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

答案 2 :(得分:0)

我会这样写:

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

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

如果更容易理解,最好再编写一些代码。

以后通常很难使用简短而神秘的内容。