多个警报 OR 运算的结果是什么?
重要性:3
以下代码将输出什么?
alert( alert(1) || 2 || alert(3) );
答案:首先是 1
,然后是 2
。
alert( alert(1) || 2 || alert(3) );
alert
的调用不返回值。或者换句话说,它返回 undefined
。
- 第一个 OR
||
运算符会评估其左操作数alert(1)
。这会显示第一个带有1
的消息。 alert
返回undefined
,因此 OR 运算符会继续到第二个操作数,寻找一个真值。- 第二个操作数
2
为真值,因此执行停止,2
被返回,然后由外部 alert 显示。
不会出现 3
,因为评估没有到达 alert(3)
。