Apa hasil dari alert yang di-OR-kan?
Apa output kode di bawah?
alert
(
alert
(
1
)
||
2
||
alert
(
3
)
)
;
Jawabannya: pertama 1
, lalu 2
.
alert
(
alert
(
1
)
||
2
||
alert
(
3
)
)
;
Panggilan alert
tak mengembalikan nilai. Atau, dengan kata lain, ia mengembalikan undefined
.
- Pertama OR
||
mengevaluasi operand kirialert(1)
. Ia menampilkan pesan pertama dengan1
. alert
mengembalikanundefined
, jadi OR jalan ke operand kedua mencari nilai truthy.- Operand kedua
2
truthy, jadi eksekusinya disela,2
dikembalikan dan ditampilkan oleh alert terluar.
Tak akan ada 3
, karena evaluasinya tidak mencapai alert(3)
.