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

