逻辑与,符号“&&”表示“而且”,找false,全真则真(全true则true),短路运算
逻辑或,符号“||”,表示“或者”,找true,全假则假(全false则false),短路运算
逻辑与&&:
只要有一个假则为假
举例:如民政局办理结婚,需要带身份证+户口本,其中一个没有带或者说只带了一个,就办理不成功,则为false,全带了才行,为ture。
以下逻辑与&& 代码总结:
第一个真,就继续走第二个,输出结果为第二个
第一个假,就不继续走第二个,输出结果为第一个
tips:逻辑与(&&)其实是发现false就输出的(短路运算)
<script>
var str = "hello" && "world"; // 输出: "world"
var str = 0 && 2; // 输出: 0
var str = "haha" && 4; // 输出: 4
var str = "hello" && ""; // 输出: ""
var str = "" && "hello"; // 输出: ""
var str = undefined && "name"; // 输出: undefined
var str = "name" && undefined; // 输出: undefined
var str = NaN && "name"; // 输出: NaN
var str = "name" && NaN; // 输出: NaN
</script>
逻辑或||:
只要有一个真则为真
以下逻辑或|| 代码总结:
第一个真,就不走第二个,输出结果为第一个
第一个假,就继续走第二个,输出结果为第二个
tips:逻辑或(||)其实是发现true就输出的(短路运算)
<script>
var str = "hello" || "world"; // 输出: "hello"
var str = null || undefined; // 输出: undefined
var str = 0 || 2; // 输出: 2
var str = "haha" || 4; // 输出: "haha"
var str = "hello" || ""; // 输出: "hello"
var str = "" || "hello"; // 输出: "hello"
var str = undefined || "name"; // 输出: "name"
var str = "name" || undefined; // 输出: "name"
var str = NaN || "name"; // 输出: "name"
var str = "name" || NaN; // 输出: "name"
</script>