二元操作符(布尔操作符)和三元操作符

1.二元和三元操作符

操作符始终写在前一行,以免分号的隐式插入产生预想不到的问题

var x=a?b:c;

var y=a?
    longExpressionA:longExpressionB;

var z=a?
    longExpressionC:
    longExpressionD;

2.&&和||

二元布尔操作符是可短路的,只有在必要时计算最后一项

//1.
function foo (opt_win)
{
    var win;
    if(opt_win){
        win=opt_win;
    }else{
        win=window;
    }
}
if(node){
    if(node.kids){
        if(node.kids[index]){
            foo(node.kids[index]);
        }
    }
}

//2.简洁
function foo (opt_win){
    var win=opt_win||window;
}
var kid=node && node.kids && node.kids[index];
if(kid){
    foo(kid);
}

3.三元运算符

//1.
if(val !=0)
{
    return foo();
}else{
    return bar();
}

//2.简洁
return val ? foo() : bar();

猜你喜欢

转载自blog.csdn.net/memoryI/article/details/88415750