JavaScript中逻辑与&&和逻辑或||能够用于任何数据类型,而不只是布尔值。spa
几乎全部语言中||和&&都遵循“短路”原理, 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。js一样也遵循上述原则:code
var a = "" || null || 3 || 4; //3 var b = 3 && null && 4 && ""; //null var c = (3 || null ) && 5 && 6; //6 var d = (3 && "") || 15 || null; //15
js中,如下值被看成假(false):对象
其余全部值都被当作真,包括true、字符串"false",以及全部的对象。blog