1、逻辑或
逻辑或操作和逻辑与操作一样,可以应用与任何类型操作数。
在有一个操作数不是布尔类型时,逻辑与操作返回的值不一定是布尔类型此时遵循以下规则
1.如果第一个操作数是对象,则返回第一个操作数
var a = {'a':'12'} || true
输出
{'a':'12'}
2.如果第一个操作数的求值结果为false,则返回第二个操作数
a.第一组测试数据:
var b = false || {a:2}
输出
{a:2}
b.第二组测试数据:
var b = true || {a:2}
输出
true
3.如果两个操作数都是对象时,则返回第一个操作数
var a = {'a' : 'b'} || {'b' : '12'}
输出
{'a': 'b'}
4.如果有两个操作数是null,则返回null
var b = null || null
var b = {a:2} || null
var b = true || null
var b = false || null
var b = null || true
var b = null || false
输出都是
null
{a:2}
true
false
true
false
5.如果有两个操作数是NaN,则返回NaN
6.如果有两个操作数是undefined,则返回undefined
这才算明白在第三方js库中的逻辑或和逻辑与的意思