1:逻辑与 &&
表达式1 && 表达式2
如果 表达式1 为false, 那么返回 表达式1
如果 表达式1 为true,那么返回 表达式2
例如:
console.log(123 && 456)
//456
console.log(0 && 456)
// 456
console.log(0 && 1+1+2 && 1237821738+123712637)
// 0
// 当判断第一个值为false的时候,就直接返回第一个值,后面的逻辑就不再执行了
值得注意的一点为:
0
''
null
undefined
NaN
上面的量都为 false
2:逻辑或 ||
表达式1 || 表达式2
如果 表达式1 为true,则返回 表达式1
如果 表达式1 为false,则返回 表达式2
例如:
console.log(123 || 456)
// 123
console.log(123 || 23435345+2312312412 || 123891283+18273817283)
// 123
console.log(0 || 456 || 1283917283+182738172)
// 456
var num = 0;
console.log(123 || num++)
// 123
console.log(num)
// 0