面试题答案
一键面试-
分析
(obj && num && str)
:- 原理:在JavaScript中,
&&
运算符是逻辑与运算符,它的运算规则是从左到右依次计算操作数。如果操作数是真值(true
或者可以转换为true
的值),则继续计算下一个操作数;如果操作数是假值(false
或者可以转换为false
的值),则返回该假值,并且不再计算后续操作数。 - 计算过程:
obj
是一个对象,对象在JavaScript中被视为真值,所以继续计算num
。num
的值为5
,数字5
在JavaScript中被视为真值,所以继续计算str
。str
的值为空字符串''
,空字符串在JavaScript中被视为假值,所以(obj && num && str)
返回''
。
- 返回值:
''
- 原理:在JavaScript中,
-
分析
(obj || num || str)
:- 原理:
||
运算符是逻辑或运算符,同样从左到右依次计算操作数。如果操作数是真值,则返回该真值,并且不再计算后续操作数;如果操作数是假值,则继续计算下一个操作数,直到找到一个真值或者所有操作数都计算完毕,如果所有操作数都是假值,则返回最后一个操作数。 - 计算过程:
obj
是一个对象,对象在JavaScript中被视为真值,所以(obj || num || str)
直接返回obj
。
- 返回值:
{name: 'test'}
- 原理: