js中的布爾運算符使用介紹
更新時間:2013年11月20日 11:53:55 作者:
布爾運算符 && 和 || 的時候,我說過它們的結(jié)果是布爾值,它們也能用于計算其他的類型的數(shù)據(jù),這種時候,返回的就將是其中的一個參數(shù)了
在之前我們討論到布爾運算符 && 和 || 的時候,我說過它們的結(jié)果是布爾值。這樣說起來有點過于簡單化了。如果你用它們來計算布爾數(shù)據(jù)類型,它們確實會返回布爾值。但是它們也能用于計算其他的類型的數(shù)據(jù),這種時候,返回的就將是其中的一個參數(shù)了。
或運算符“||” 真正做的事是這樣的:它首先檢查一下它左邊的參數(shù),如果轉(zhuǎn)換成布爾類型的值后為true,那么就返回左邊的參數(shù),否則就返回右邊的參數(shù)。 仔細想想當(dāng)運算符兩邊都是布爾類型的值的時候,是不是這樣的。為什么它這樣運行?這樣運行的結(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”。這是一個很簡單的提供一個默認值的方法。
與運算符 “&&” 的工作原理類似,但是與 “||” 正好相反。當(dāng)它左邊的參數(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ù)。 仔細想想當(dāng)運算符兩邊都是布爾類型的值的時候,是不是這樣的。為什么它這樣運行?這樣運行的結(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”。這是一個很簡單的提供一個默認值的方法。
與運算符 “&&” 的工作原理類似,但是與 “||” 正好相反。當(dāng)它左邊的參數(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)文章
利用google提供的API(JavaScript接口)獲取網(wǎng)站訪問者IP地理位置的代碼詳解
利用google提供的API(JavaScript接口)獲取網(wǎng)站訪問者IP地理位置2010-07-07
DOM操作原生js 的bug,使用jQuery 可以消除的解決方法
下面小編就為大家?guī)硪黄狣OM操作原生js 的bug,使用jQuery 可以消除的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用實例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用,結(jié)合實例形式簡單分析了基于javascript順序操作實現(xiàn)串結(jié)構(gòu)與串的拼接操作相關(guān)技巧,需要的朋友可以參考下2017-04-04
微信瀏覽器內(nèi)置JavaScript對象WeixinJSBridge使用實例
這篇文章主要介紹了微信瀏覽器內(nèi)置JavaScript對象WeixinJSBridge使用實例,本文給出了分享到朋友圈、發(fā)送給好友、分享到騰訊微博、關(guān)注指定的微信號等功能代碼,需要的朋友可以參考下2015-05-05
JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法
這篇文章主要介紹了JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法,文章通過代碼示例給大家講解的非常詳細,?對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06
IE之動態(tài)添加DOM節(jié)點觸發(fā)window.resize事件
因為頁面很多UI是絕對定位的,所以當(dāng)窗口大小改變的時候會使原先的布局混亂,只好在每次window.resize的時候重新布局...2010-07-07

