||(逻辑或)
1、只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
2、只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
//var Yahoo = Yahoo || {} //获取初始值
注:
短路原理:第一个为:true,则取第一个的值,如果第一个为false,则取第二个的值
在js逻辑运算中,0、”“、null、false、undefined、NaN都会判为false
&&(逻辑与)
1、只要“&&”前面是false,无论“&&”后面是true还是false,都将返“&&”前面的值;
2、只要“&&”前面是true,无论“&&”后面是true还是false,都将返“&&”后面的值;
//callback&&callback() //防止不存在报错
注:短路原理:第一个为:true,则取第二个的值,如果第一个为false,则取第一个的值
综合实例
//成长速度为5显示1个箭头;
//成长速度为10显示2个箭头;
//成长速度为12显示3个箭头;
//成长速度为15显示4个箭头;
//其他都显示都显示0各箭头。
方法1:var level = (step == 5 && 1) || (step == 10 && 2) || (step == 12 && 3) || (step == 15 && 4) || 0 ;
方法2:var level = {'5':1,'10':2,'12':3,'15':4}[step] || 0