js中的布爾運(yùn)算符使用介紹
或運(yùn)算符“||” 真正做的事是這樣的:它首先檢查一下它左邊的參數(shù),如果轉(zhuǎn)換成布爾類型的值后為true,那么就返回左邊的參數(shù),否則就返回右邊的參數(shù)。 仔細(xì)想想當(dāng)運(yùn)算符兩邊都是布爾類型的值的時(shí)候,是不是這樣的。為什么它這樣運(yùn)行?這樣運(yùn)行的結(jié)果其實(shí)非常實(shí)用。我們來看這個(gè)例子:
var input = prompt("What is your name?", "Kilgore Trout");
alert("Well hello " + (input || "dear"));
如果用戶按“取消”或者直接關(guān)掉prompt對(duì)話框,input的值將是null或者“”。這兩種情況下,轉(zhuǎn)換成布爾類型的值都是false。那么這時(shí)候 input || “dear” 這個(gè)表達(dá)式的意思就是input有值的時(shí)候就得到input的值,否則就得到“dear”。這是一個(gè)很簡(jiǎn)單的提供一個(gè)默認(rèn)值的方法。
與運(yùn)算符 “&&” 的工作原理類似,但是與 “||” 正好相反。當(dāng)它左邊的參數(shù)轉(zhuǎn)換成布爾類型的值為“false”的時(shí)候,它就返回那個(gè)值,否則返回右邊的值。這兩個(gè)操作符還有一個(gè)特點(diǎn)就是,只有在必要的時(shí)候,才會(huì)計(jì)算它右邊的表達(dá)式的值。在“true || X” 這個(gè)表達(dá)式中,不管X是什么,結(jié)果都是true,所以X就不會(huì)被計(jì)算,如果X有其他的效果,那這個(gè)效果也不會(huì)產(chǎn)生?!癴alse && X” 也是同樣的道理。
false || alert("I'm happening!");
true || alert("Not me.");
相關(guān)文章
深入理解Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問題
這篇文章主要是對(duì)Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12IE與Firefox在JavaScript上的7個(gè)不同句法分享
盡管那需要用長(zhǎng)串的、沉悶的不同分支代碼來應(yīng)付不同瀏覽器的日子已經(jīng)過去,偶爾還是有必要做一些簡(jiǎn)單的區(qū)分和目標(biāo)檢測(cè)來確保某塊代碼能在用戶的機(jī)器上正常運(yùn)行2011-10-10一些經(jīng)常會(huì)用到的Javascript檢測(cè)函數(shù)
一些經(jīng)常會(huì)用到的Javascript檢測(cè)函數(shù),都是在prototype上面的擴(kuò)展。2010-05-05JavaScript高階教程之“==”隱藏下的類型轉(zhuǎn)換
這篇文章主要給大家介紹了關(guān)于JavaScript高階教程之“==”隱藏下類型轉(zhuǎn)換的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04JS 非圖片動(dòng)態(tài)loading效果實(shí)現(xiàn)代碼
功能說明:譬如在按某個(gè)button時(shí),顯示消息"Loading”,然后每隔一秒后后面加上".",至一定數(shù)量的"."時(shí)如:"Loading...",再重置此消息為"Loading",繼續(xù)動(dòng)態(tài)顯示,直至按鈕事件處理完成。2010-04-04js根據(jù)屬性刪除對(duì)象數(shù)組里的相應(yīng)對(duì)象
這篇文章主要介紹了js根據(jù)屬性刪除對(duì)象數(shù)組里的相應(yīng)對(duì)象,需要的朋友可以參考下2023-07-07javascript算法之?dāng)?shù)組反轉(zhuǎn)
這篇文章主要介紹了javascript算法之?dāng)?shù)組反轉(zhuǎn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08使用Promise鏈?zhǔn)秸{(diào)用解決多個(gè)異步回調(diào)的問題
這篇文章主要給大家介紹了使用Promise鏈?zhǔn)秸{(diào)用解決多個(gè)異步回調(diào)問題的方法,文中給出了詳細(xì)的介紹和示例代碼,有需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-01-01