面试题答案
一键面试-
checkValues(15, 18)
- 首先分析
(x > 10 && y < 20)
:- 这里
x = 15
,15 > 10
为true
;y = 18
,18 < 20
为true
。 - 所以
(x > 10 && y < 20)
整体为true
。
- 这里
- 再看
(x === y)
,15!== 18
,所以(x === y)
为false
。 - 最后看整个表达式
(x > 10 && y < 20) || (x === y)
,因为(x > 10 && y < 20)
为true
,根据||
(逻辑或)的特性,只要其中一个表达式为true
,整个表达式就为true
,所以返回值为true
。
- 首先分析
-
checkValues(5, 5)
- 分析
(x > 10 && y < 20)
:x = 5
,5 > 10
为false
,所以(x > 10 && y < 20)
整体为false
。
- 分析
(x === y)
:x = 5
,y = 5
,5 === 5
为true
。
- 看整个表达式
(x > 10 && y < 20) || (x === y)
,因为(x === y)
为true
,根据||
特性,整个表达式返回true
。
- 分析
-
checkValues(25, 25)
- 分析
(x > 10 && y < 20)
:x = 25
,25 > 10
为true
,但y = 25
,25 < 20
为false
,所以(x > 10 && y < 20)
整体为false
。
- 分析
(x === y)
:x = 25
,y = 25
,25 === 25
为true
。
- 看整个表达式
(x > 10 && y < 20) || (x === y)
,因为(x === y)
为true
,根据||
特性,整个表达式返回true
。
- 分析
-
使表达式永远返回
true
的条件- 对于
(x > 10 && y < 20) || (x === y)
永远返回true
:- 情况一:当
x > 10 && y < 20
恒成立时,即x > 10
且y < 20
,x
和y
满足x ∈ (10, +∞)
且y ∈ (-∞, 20)
,并且x
,y
为整数。 - 情况二:当
x === y
恒成立时,即x
和y
取任意相同的整数值,表达式也永远返回true
。
- 情况一:当
- 对于