老生常談javascript中邏輯運算符&&和||的返回值問題
今天在做邏輯運算符的時候遇到一個小問題一直轉(zhuǎn)不過彎來,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;
當(dāng)&&左右兩邊都是非以上類型的值時,則會返回最后一個;
如var a=12&&"abc"&&456 a的返回值是最后一個456;
所以var a=(undefined&&123)||(3||5)的返回值是什么?無疑可以得出結(jié)論是3
以上這篇老生常談javascript中邏輯運算符&&和||的返回值問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實現(xiàn)下班倒計時效果的方法(可桌面通知)
這篇文章主要介紹了javascript實現(xiàn)下班倒計時效果的方法,涉及javascript倒計時效果及桌面提示效果的實現(xiàn)技巧,具有一定參考借鑒價值2015-07-07
JavaScript中async和await的使用及隊列詳情
這篇文章主要介紹了JavaScript中async和await的使用及隊列詳情,主要圍繞js中async和await簡單解析展開面試中可能會問到的關(guān)于隊列的一些場景和知識點,需要的朋友可以參考一下2022-07-07
self.attachevent is not a function的解決方法
今天一個客戶用chrome瀏覽器訪問網(wǎng)站,他的網(wǎng)站js提示self.attachevent is not a function,這個問題就是這個瀏覽器不支持attachevent,可以通過如下方法解決了,分享一下,需要的朋友可以參考下2017-04-04
JavaScript通過正則表達式實現(xiàn)表單驗證電話號碼
JavaScript判斷一個輸入量是否為電話號碼,通過正則表達式實現(xiàn),需要的朋友可以參考下2014-03-03
boostrapTable的refresh和refreshOptions區(qū)別淺析
在使用bootstrapTable時,刷新數(shù)據(jù)有兩個方法refresh、refreshOptions,在其用法上有點區(qū)別,接下來通過本文給大家分享boostrapTable的refresh和refreshOptions的區(qū)別,需要的朋友可以參考下2017-01-01

