关于“if”的问题
重要性:5
以下哪些 alert
将会执行?
if(...)
中表达式的结果将是什么?
if
(
-
1
||
0
)
alert
(
'first'
)
;
if
(
-
1
&&
0
)
alert
(
'second'
)
;
if
(
null
||
-
1
&&
1
)
alert
(
'third'
)
;
答案:第一个和第三个会执行。
细节
// Runs.
// The result of -1 || 0 = -1, truthy
if
(
-
1
||
0
)
alert
(
'first'
)
;
// Doesn't run
// -1 && 0 = 0, falsy
if
(
-
1
&&
0
)
alert
(
'second'
)
;
// Executes
// Operator && has a higher precedence than ||
// so -1 && 1 executes first, giving us the chain:
// null || -1 && 1 -> null || 1 -> 1
if
(
null
||
-
1
&&
1
)
alert
(
'third'
)
;