Javascript多重结果

时间:2014-02-01 08:14:32

标签: javascript

我可以把更多复杂的代码包裹起来,但这让我感到很沮丧。

我有两种页面类型:浏览:类别,浏览:搜索和浏览:搜索id = 0且不是= 0.

对于browse:category,我需要返回第1页 对于浏览:搜索id!= 0返回第2页 对于浏览:搜索id = 0返回页面3

我有多接近?

if (page=='browse:category'){
    addPlacementType('page1');
}
elseif (id != 0'){
    addPlacementType('page2');
}
else (id == 0'){
    addPlacementType('page3');
}

3 个答案:

答案 0 :(得分:2)

使用类似的东西:

if (page == 'browse:category'){
    addPlacementType('page1');
} else if (page === 'browse:search' && id != '0'){
    addPlacementType('page2');
} else if (page === 'browse:search' && id == '0'){
    addPlacementType('page3');
}

您的语法存在问题,没有elseif运算符,但您可以使用else if代替(实际上它不是一个独特的运算符)。

您的报价也缺失了。将id与字符串进行比较并不是什么大问题 - 当您使用id(即==)时,JavaScript会隐式地将'1' == 1强制转换为字符串。

答案 1 :(得分:0)

至少有两个问题,一个缺失。

  1. 两个地方缺少单引号,或者根本没有单引号。
  2. 您还有一个else正在使用else if
  3. 您错过了browse:search条件检查。
  4. 如果id是字符串,请使用:

    if ( page == 'browse:category' ){
        addPlacementType( 'page1' );
    }
    else if ( id != '0' ){
        addPlacementType( 'page2' );
    }
    else if ( id == '0' ){
        addPlacementType( 'page3' );
    }
    

    或者如果id是整数:

    if ( page == 'browse:category' ){
        addPlacementType( 'page1' );
    }
    else if ( id != 0 ){
        addPlacementType( 'page2' );
    }
    else if ( id == 0 ){
        addPlacementType('page3' );
    }
    

    要包含page === 'browse:search'部分,请执行此操作(如果id是字符串):

    if ( page == 'browse:category' ){
        addPlacementType('page1');
    } else if ( page == 'browse:search' ){
        if ( id != '0' ) addPlacementType( 'page2' );
        else if ( id == '0') addPlacementType( 'page3' );
    }
    

答案 2 :(得分:0)

好吧,首先,摆脱0旁边的那些定义标记。其次,if和elseif旁边有一个条件,但是没有,所以要么你把elseif替换为else而不是结束它,或者当然,除了前两个条件之外,你可以保留原样并执行第三条指令,除了前两个条件之外。