0

我希望将 rlPrice 分配给 0(如果未定义)或可用的已定义价格。下面的就可以了。

if($('#rl option:selected').data("unit-price") == undefined){
    rlPrice = 0;
else{
    rlPrice = $('#rl option:selected').data("unit-price");
}

但是有没有办法用三元运算符来做到这一点?

rlPrice = $('#rl option:selected').data("unit-price") OR 0;
4

3 回答 3

3

最快的方法是使用合并运算符:

rlPrice = $('#rl option:selected').data("unit-price") || 0;

看到这个链接

于 2013-11-04T11:02:26.303 回答
0

三元运算符的形式为

d = a ? b : c; 

实际上,这意味着如果a为真,则分配bd,否则分配cd

因此,替换上述语句中的真实表达式:

rlPrice = $('#rl option:selected').data("unit-price") == undefined?0:$('#rl option:selected').data("unit-price")
于 2013-11-04T11:02:14.420 回答
0

您的if..else陈述是使用?:运算符精确的。

rlPrice = $('#rl option:selected').data("unit-price") == undefined 
           ? 0 
           : $('#rl option:selected').data("unit-price");
于 2013-11-04T11:02:41.000 回答