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();