console.log(1&&2);输出2
console.log(1||2);输出1
这是为什么
请参考文档https://developer.mozilla.org...
Logical operators are typically used with Boolean (logical) values. When they are, they return a Boolean value. However, the && and || operators actually return the value of one of the specified operands, so if these operators are used with non-Boolean values, they may return a non-Boolean value.
逻辑操作符在使用时,返回的是操作对象的值,是bool值返回bool值,是非bool值就返回非bool值
||
逻辑或,判断为真就不再往后判断,
通常用来填充默认值 `var a = name || "unknown" ,name未定义则返回 "unknown"
&&
逻辑与,只有前面为真才会继续后面判断。
通常用来在函数执行前判断参数是否有意义。args && func(args)
,只有args
已经被赋值,才会执行func
函数
&& 先计算左边表达式,如果它的值为false,那么返回左边表达式的值,否则返回右边表达式的值
|| 先计算左边表达式,如果它的值为true,那么返回左边表达式的值,否则返回右边表达式的值
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
&&
是与运算表达式,可以理解为当&&
前面的值为真时,执行&&
后面的表达式,&&
前面的表达式为假时,返回false
。||
或运算表达式,可以理解为当||
前面的值为假时,执行||
后面的表达式。当||
前面的表达式为真时,直接返回前面的表达式。