javascript中且是「&&」符號。 “&&”是一種邏輯運算符,意思是“邏輯與”,相當於生活中說的“並且”;使用該操作運算符時,只有兩邊的操作數都為true時,才返回true,否則返回false。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
javascript中且是「&&」符號。
“&&”是一種邏輯運算符,意思為“邏輯與”,相當於生活中說的“並且”,就是兩個條件都同時成立的情況下“邏輯與”的運算結果才為「真」。
邏輯與運算「&&
」
邏輯與運算(&&)是AND布爾操作。只有當兩個操作數都為 true 時,才會傳回 true,否則傳回 false。具體描述如表所示。
第一個運算元 | 第二個運算元 | 運算結果 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
邏輯與是一種短路邏輯,如果左側表達式為 false,則直接短路回傳結果,不再運算右側表達式。運算邏輯如下:
第 1 步:計算第一個運算元(左側表達式)的值。
第 2 步:偵測第一個運算元的值。如果左側表達式的值可轉換為 false(如 null、undefined、NaN、0、""、false),那麼就會結束運算,直接傳回第一個運算元的值。
第 3 步:如果第一個運算元可以轉換為 true,則計算第二個運算元(右側表達式)的值。
第 4 步:傳回第二個運算元的值。
說明:邏輯與運算屬於短路運算,既如果第一個運算元能夠決定結果,那麼就不會對第二個運算元求值。對於邏輯與操作而言,如果第一個操作數是假,則無論第二個操作數是什麼值,結果都不可能是真,相當於短路了右邊。
範例:
下面程式碼利用邏輯與運算偵測變數並進行初始化。
var user; //定义变量 (! user && console.log("没有赋值")); //返回提示信息“没有赋值”
等效於:
var user; //定义变量 if (! user){ //条件判断 console.log("变量没有赋值"); }
如果變數user 的值為0 或空字串等假值轉換為布林值時,則為false,那麼當變數賦值之後,依然提示變數沒有賦值。因此,在設計時必須確保邏輯與左側的表達式回傳值是一個可以預測的值。
var user = 0; //定义并初始化变量 (! user && console.log("变量没有赋值")); //返回提示信息“变量没有赋值”
右側表達式不應該包含賦值、遞增、遞減和函數呼叫等有效運算,因為當左側表達式為false 時,則直接跳過右側表達式,會給後面的運算帶來潛在影響。
【相關推薦:javascript學習教學】
#以上是javascript中且是什麼符號的詳細內容。更多資訊請關注PHP中文網其他相關文章!