老生常談javascript中邏輯運算符&&和||的返回值問題
今天在做邏輯運算符的時候遇到一個小問題一直轉不過彎來,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中邏輯運算符&&和||的返回值問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JavaScript中async和await的使用及隊列詳情
這篇文章主要介紹了JavaScript中async和await的使用及隊列詳情,主要圍繞js中async和await簡單解析展開面試中可能會問到的關于隊列的一些場景和知識點,需要的朋友可以參考一下2022-07-07
self.attachevent is not a function的解決方法
今天一個客戶用chrome瀏覽器訪問網站,他的網站js提示self.attachevent is not a function,這個問題就是這個瀏覽器不支持attachevent,可以通過如下方法解決了,分享一下,需要的朋友可以參考下2017-04-04
boostrapTable的refresh和refreshOptions區(qū)別淺析
在使用bootstrapTable時,刷新數據有兩個方法refresh、refreshOptions,在其用法上有點區(qū)別,接下來通過本文給大家分享boostrapTable的refresh和refreshOptions的區(qū)別,需要的朋友可以參考下2017-01-01

