js中的布爾運算符使用介紹
更新時間:2013年11月20日 11:53:55 作者:
布爾運算符 && 和 || 的時候,我說過它們的結果是布爾值,它們也能用于計算其他的類型的數據,這種時候,返回的就將是其中的一個參數了
在之前我們討論到布爾運算符 && 和 || 的時候,我說過它們的結果是布爾值。這樣說起來有點過于簡單化了。如果你用它們來計算布爾數據類型,它們確實會返回布爾值。但是它們也能用于計算其他的類型的數據,這種時候,返回的就將是其中的一個參數了。
或運算符“||” 真正做的事是這樣的:它首先檢查一下它左邊的參數,如果轉換成布爾類型的值后為true,那么就返回左邊的參數,否則就返回右邊的參數。 仔細想想當運算符兩邊都是布爾類型的值的時候,是不是這樣的。為什么它這樣運行?這樣運行的結果其實非常實用。我們來看這個例子:
var input = prompt("What is your name?", "Kilgore Trout");
alert("Well hello " + (input || "dear"));
如果用戶按“取消”或者直接關掉prompt對話框,input的值將是null或者“”。這兩種情況下,轉換成布爾類型的值都是false。那么這時候 input || “dear” 這個表達式的意思就是input有值的時候就得到input的值,否則就得到“dear”。這是一個很簡單的提供一個默認值的方法。
與運算符 “&&” 的工作原理類似,但是與 “||” 正好相反。當它左邊的參數轉換成布爾類型的值為“false”的時候,它就返回那個值,否則返回右邊的值。這兩個操作符還有一個特點就是,只有在必要的時候,才會計算它右邊的表達式的值。在“true || X” 這個表達式中,不管X是什么,結果都是true,所以X就不會被計算,如果X有其他的效果,那這個效果也不會產生?!癴alse && X” 也是同樣的道理。
false || alert("I'm happening!");
true || alert("Not me.");
或運算符“||” 真正做的事是這樣的:它首先檢查一下它左邊的參數,如果轉換成布爾類型的值后為true,那么就返回左邊的參數,否則就返回右邊的參數。 仔細想想當運算符兩邊都是布爾類型的值的時候,是不是這樣的。為什么它這樣運行?這樣運行的結果其實非常實用。我們來看這個例子:
復制代碼 代碼如下:
var input = prompt("What is your name?", "Kilgore Trout");
alert("Well hello " + (input || "dear"));
如果用戶按“取消”或者直接關掉prompt對話框,input的值將是null或者“”。這兩種情況下,轉換成布爾類型的值都是false。那么這時候 input || “dear” 這個表達式的意思就是input有值的時候就得到input的值,否則就得到“dear”。這是一個很簡單的提供一個默認值的方法。
與運算符 “&&” 的工作原理類似,但是與 “||” 正好相反。當它左邊的參數轉換成布爾類型的值為“false”的時候,它就返回那個值,否則返回右邊的值。這兩個操作符還有一個特點就是,只有在必要的時候,才會計算它右邊的表達式的值。在“true || X” 這個表達式中,不管X是什么,結果都是true,所以X就不會被計算,如果X有其他的效果,那這個效果也不會產生?!癴alse && X” 也是同樣的道理。
復制代碼 代碼如下:
false || alert("I'm happening!");
true || alert("Not me.");
相關文章
深入理解Javascript動態(tài)方法調用與參數修改的問題
這篇文章主要是對Javascript動態(tài)方法調用與參數修改的問題進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12IE與Firefox在JavaScript上的7個不同句法分享
盡管那需要用長串的、沉悶的不同分支代碼來應付不同瀏覽器的日子已經過去,偶爾還是有必要做一些簡單的區(qū)分和目標檢測來確保某塊代碼能在用戶的機器上正常運行2011-10-10