例1:用于赋值
&&:从左往右依次判断,当当前值为true则继续,为false则返回此值(是返回未转换为布尔值时的原值哦)
|| : 从左往右依次判断,当当前值为false则继续,为true则返回此值(是返回未转换为布尔值时的原值哦)
// => aaa var attr = true && 4 && "aaa"; // => 0 var attr = true && 0 && "aaa"; // => 100 var attr = 100 || 12; // => e var attr = "e" || "hahaha" // => hahaha var attr = "" || "hahaha"
例2 经过多次判断的赋值
/* x>=15时 => 4 x>=12时 => 3 x>=10时 => 2 x>=5时 => 1 x<5时 => 0 */ console.log((x>=15 && 4) || (x>=12 && 3) || (x>=10 && 2) || (x>=5 && 1) || 0);
例3 与对象形式的变量合体
/* x=15 时 => 4 x=12 时 => 3 x=10 时 => 2 x=5 时 => 1 其它 => 0 */ console.log( {‘5‘:1,‘10‘:2,‘12‘:3,‘15‘:4}[x] || 0 );
例4 用于执行语句
if(a >=5){alert("你好");} //可以写成: a >= 5 && alert("你好");
时间: 2024-10-12 17:47:26