91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript的邏輯運算符有哪些

發布時間:2021-11-04 17:21:32 來源:億速云 閱讀:209 作者:iii 欄目:web開發

本篇內容介紹了“javascript的邏輯運算符有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

javascript的邏輯運算符有:1、邏輯與“&&”,只有兩個操作數都為true時,才返回true;2、邏輯或“||”,如果兩個操作數都為true,或其中一個為true,就返回true;3、邏輯非“!”,把操作數的值轉換為布爾值,并取反。

javascript的邏輯運算符有哪些

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript中的邏輯運算符

邏輯運算符通常用來組合多個表達式,邏輯運算符的運算結果是一個布爾值,只能有兩種結果,不是 true 就是 false。下表中列舉了 JavaScript 中支持的邏輯運算符:

運算符名稱示例
&&邏輯與x && y 表示如果 x 和 y 都為真,則為真
||邏輯或x || y 表示如果 x 或 y 有一個為真,則為真
!邏輯非!x 表示如果 x 不為真,則為真

邏輯與運算

邏輯與運算(&&)是 AND 布爾操作。只有兩個操作數都為 true 時,才返回 true,否則返回 false。具體描述如表所示。

邏輯與運算
第一個操作數第二個操作數運算結果
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

邏輯與是一種短路邏輯,如果左側表達式為 false,則直接短路返回結果,不再運算右側表達式。運算邏輯如下:

  • 第 1 步:計算第一個操作數(左側表達式)的值。

  • 第 2 步:檢測第一個操作數的值。如果左側表達式的值可轉換為 false(如 null、undefined、NaN、0、""、false),那么就會結束運算,直接返回第一個操作數的值。

  • 第 3 步:如果第一個操作數可以轉換為 true,則計算第二個操作數(右側表達式)的值。

  • 第 4 步:返回第二個操作數的值。

示例1

下面代碼利用邏輯與運算檢測變量并進行初始化。

var user;  //定義變量
(! user && console.log("沒有賦值"));  //返回提示信息“沒有賦值”

等效于:

var user;  //定義變量
if (! user){  //條件判斷
    console.log("變量沒有賦值");
}

如果變量 user 的值為 0 或空字符串等假值轉換為布爾值時,則為 false,那么當變量賦值之后,依然提示變量沒有賦值。因此,在設計時必須確保邏輯與左側的表達式返回值是一個可以預測的值。

var user = 0;  //定義并初始化變量
(! user && console.log("變量沒有賦值"));  //返回提示信息“變量沒有賦值”

右側表達式不應該包含賦值、遞增、遞減和函數調用等有效運算,因為當左側表達式為 false 時,則直接跳過右側表達式,會給后面的運算帶來潛在影響。

邏輯或運算

邏輯或運算||是布爾 OR 操作。如果兩個操作數都為 true,或者其中一個為 true,就返回 true,否則就返回 false。具體如圖所示。

邏輯或運算
第一個操作數第二個操作數運算結果
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

邏輯或也是一種短路邏輯,如果左側表達式為 true,則直接短路返回結果,不再運算右側表達式。運算邏輯如下:

  • 第 1 步:計算第一個操作數(左側表達式)的值。

  • 第 2 步:檢測第一個操作數的值。如果左側表達式的值可轉換為 true,那么就會結束運算,直接返回第一個操作數的值。

  • 第 3 步:如果第一個操作數可以轉換為 false,則計算第二個操作數(右側表達式)的值。

  • 第 4 步:返回第二個操作數的值。

示例2

針對下面 4 個表達式:

var n = 3;
(n == 1) && console.log(1);
(n == 2) && console.log(2);
(n == 3) && console.log(3);
( ! n ) && console.log("null");

可以使用邏輯或對其進行合并:

var n = 3;
(n == 1) && console.log(1) || 
(n == 2) && console.log(2) || 
(n == 3) && console.log(3) || 
( ! n ) && console.log("null");

由于&&運算符的優先級高于||運算符的優先級,所以不必使用小括號進行分組。不過使用小括號分組后,代碼更容易閱讀。

var n = 3;
((n == 1) && console.log(1)) ||
((n == 2) && console.log(2)) ||
((n == 3) && console.log(3)) ||
(( ! n ) && console.log("null")) ||

邏輯與和邏輯或運算符具有以下 2 個特點:

  • 在邏輯運算過程中,臨時把操作數轉換為布爾值,然后根據布爾值決定下一步的操作,但是不會影響操作數的類型和最后返回結果。

  • 受控于第一個操作數,可能不會執行第二個操作數。

邏輯非運算

邏輯非運算!是布爾取反操作(NOT)。作為一元運算符,直接放在操作數之前,把操作數的值轉換為布爾值,然后取反并返回。

示例3

下面列舉一些特殊操作數的邏輯非運算返回值。

console.log( ! {} );  //如果操作數是對象,則返回false
console.log( ! 0 );  //如果操作數是0,則返回true
console.log( ! (n = 5));  //如果操作數是非零的任何數字,則返回false
console.log( ! null );  //如果操作數是null,則返回true
console.log( ! NaN );  //如果操作數是NaN,則返回true
console.log( ! Infinity );  //如果操作數是Infinity,則返回false
console.log( ! ( - Infinity ));  //如果操作數是-Infinity,則返回false
console.log( ! undefined );  //如果操作數是undefined,則返回true

示例4

如果對操作數執行兩次邏輯非運算操作,就相當于把操作數轉換為布爾值。

console.log( ! 0 );  //返回true
console.log( ! ! 0 );  //返回false

邏輯與和邏輯或運算的返回值不必是布爾值,但是邏輯非運算的返回值一定是布爾值。

“javascript的邏輯運算符有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

图木舒克市| 彭阳县| 青浦区| 札达县| 班玛县| 慈利县| 扬州市| 呼伦贝尔市| 房山区| 西华县| 土默特右旗| 贺兰县| 涿鹿县| 兴安县| 大连市| 沭阳县| 西华县| 安化县| 绵竹市| 平塘县| 吉林省| 舒城县| 靖远县| 新乡市| 安远县| 宿松县| 武义县| 深泽县| 乐都县| 襄城县| 磴口县| 巴中市| 龙口市| 池州市| 禄丰县| 团风县| 广宗县| 綦江县| 唐海县| 新郑市| 泸溪县|