今天在做邏輯運算符的時候遇到一個小問題一直轉不過彎來,var a=(undefined&&123)||(3||5)的返回值是什么?
首先是||的返回值問題:
||的返回值會返回最早遇到非以下類型的值:
NaN null undefined 0 false;
所以3||5返回的是3;
如果||左右兩邊都是以上類型的值時,會返回最后一個
如 var a=0||null||undefined則a返回的值是undefined;
其次是&&的返回值問題:
&&的返回值會返回最早遇到以下類型的值:
NaN null undefined 0 false;
所以undefined&&123返回的值是undefined;
當&&左右兩邊都是非以上類型的值時,則會返回最后一個;
如var a=12&&"abc"&&456 a的返回值是最后一個456;
所以var a=(undefined&&123)||(3||5)的返回值是什么?無疑可以得出結論是3
以上這篇老生常談javascript中邏輯運算符&&和||的返回值問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答