JS && || 陷阱 javascript 邏輯與、邏輯或 【轉】
阿新 • • 發佈:2018-04-07
第一個 def null eof OS 與運算 scrip pos 一個 通常來說邏輯運算a&&b和a||b分別是邏輯與運算和邏輯或運算,返回的是一個布爾值,要麽為true,要麽為false。
比如在PHP裏面a&&b返回類型永遠是布爾值,非true即false。
而Javascript中中&& ||是一個陷阱,JS裏面的&&和||有點不走尋常路。
總結JS && ||的規律:下面的a和b分別可以是一個值、一個變量、一個表達式。
- JS對於邏輯與運算a&&b,如果a不成立(運算後結果是false,null,‘‘,0,undefined等值,下同)則返回a,如果a成立則返回b,如果使用&&連接了多個表達式,如果每個表達式都成立,則返回最後一個表達式的運算結果,如果有至少一個不成立,則返第一個不成立的表達式的運算結果
- JS對於邏輯或運算a||b,則是從左邊開始,返回第一個成立的表達式的運算結果,如果全部不成立則返回最後一個表達式的運算結果。
- &&優先級高於||,先運算&&再用&&運算的結果去||運算。
JS && || 陷阱 javascript 邏輯與、邏輯或 【轉】