<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript基礎課程之邏輯表達式定義用法詳解

        來源:懂視網 責編:小采 時間:2020-11-27 20:16:00
        文檔

        javascript基礎課程之邏輯表達式定義用法詳解

        javascript基礎課程之邏輯表達式定義用法詳解:邏輯運算符"&&"、!是對操作進行布爾算術運算,經常和關系運算符一起配合使用,邏輯運算符將多個關系表達式組合起來組成一個更復雜的表達式。i.邏輯與"&&"運算符可以從三個不同的層次進行理解。最簡單一層理
        推薦度:
        導讀javascript基礎課程之邏輯表達式定義用法詳解:邏輯運算符"&&"、!是對操作進行布爾算術運算,經常和關系運算符一起配合使用,邏輯運算符將多個關系表達式組合起來組成一個更復雜的表達式。i.邏輯與"&&"運算符可以從三個不同的層次進行理解。最簡單一層理

        邏輯運算符"&&"、“||”、“!”是對操作進行布爾算術運算,經常和關系運算符一起配合使用,邏輯運算符將多個關系表達式組合起來組成一個更復雜的表達式。

        i.邏輯與

        "&&"運算符可以從三個不同的層次進行理解。最簡單一層理解是,當操作數都是布爾值是,“&&”對兩個布爾值執行布爾與(AND)操作,只有在第一個操作數和第二個操作數都是true的時候,它才返回true.如果其中有一個操作數為false.則它返回false.

        "&&"長用來連接兩個關系表達式

        x == 0 && y == 0; //只有在x和y都是0時,才返回true
        關系表達式總是返回true或false,因此當這樣使用的時候,“&&”本身也返回true或 false。關系運算符的優先級要比"&&"(和“||”)要高,因此類似這種表達式可以放心地書寫,而不用補充園括號。

        "&&"操作數并不一定是布爾值,回想一下,有些值是可以當做“真值”和“假值”的。(如假值是:false null undefined 0 -0 NaN和"",所有和其它的值包括所有的對象都是真值)。對“&&”第二層理解是,“&&”是可以對真值和假值進行布爾與(AND)操作。如果兩個操作數都是真值的,則那么返回一個真值;否則,至少一個操作數是假值的。javascript中在任何使用布爾值的地方的時候,表達式語句都會將其當做真值或假值來對待,因此實際上“&&”并不總是返回true和false.但也并無大礙。

        需要注意的是,上文提到了運算符返回“真值”和“假值”,但并沒說說明這個“真值”或者“假值”到底是什么值,為此我們深入討論對“&&”第三層的理解。運算符首先計算左操作數的值,即首先計算“&&”左側的表達式,如果計算結果是假值,那么整個表達式的結果一定是假值,因此“&&”這時簡單的返回左操作的值,而并不會對右邊的操作數進行計算。

        var o = {
         x: 1
        };
         var p = null;
         o && o.x; //=>1 : 1:0是真值,因此返回值是o.x
         p && p.x //= null :p是假值,因此將其返回,而并不計算p.x

        這對于理解“&&”可能不計算右操作數的情況至關重要,在上述代碼中,變量P的值是null,而如果計算p.x的話則會拋出一個異常錯誤,因此,只有p為真值(不能是null或undefined)的情況下才計算p.x

        "&&"的行為有時候被稱為“短路”(short circuiting),我們經常能看到很多代碼利用了這一也行來有條件的執行代碼。例如下面的兩條代碼是等價的

         if (a == b) stop(); //只有a==b時才能調運stop()
         (a == b) && stop(); //同上

        一般來講,當“&&”右側的表達式具有副作用的時候(賦值,遞增,遞減和函數調用表達式)要格外小心。因為這些帶有副作用的表達式的執行時候,依賴于左操作鼠的計算結果。

        盡管“&&”可以按照第二層和第三層的理解進行一些復雜的表達式運算,但大多數的情況下,“&&”僅用來對真值和假值的做布爾計算。

        ii.邏輯或(||)

        "||"運算符對兩個操作數做布爾或(OR)運算。如果其中一個為真值,則返回真值,兩個操作數都為假值,返回假值。

        盡管“||”運算符大多情況下只是做簡單的布爾或(OR)運算,和“&&”一樣,也具備一些更復雜的行為,它首先計算第一個操作數的值,也就是說回首先計算左側的表達式,如果計算結果為真,則返回真值,否則,再計算第二個值。

        和“&&”一樣,用于應該避免右操作數包含一些具有副作用的表達式,除非你目地明確在右側使用帶副作用的表達式,而有可能不會計算右側的表達式。

        這個運算符最常用的方式是用來從一組備選的表達中選取第一個真值的表達式。

        //如果max_width已經定義了,則直接使用它。賦值在preferences對象中查找max_width
        //如果沒有定義它,則使用一個寫死的常量。
        var max =max_width || preferences.max_windth || 500;

        這種貫用法通常在函數體內,用來給參數提供默認值。

        //將o成功的屬性復制到p中,并返回p
        function copy(o, p) {
        p = p || {}; //如果向參數p沒有傳入任何對象,則使用一個新創建對象。
        //函數體內的主邏輯

        iii.邏輯非(!)

        "!"運算符是一元運算符,它放置在一個單獨操作數之前。它的目的是將操作數的布爾值求反。

        和"&&"、"||"運算符不同,“!”運算符首先將其操作數轉換為布爾值,然后再對布爾值求反。也就是"!"總是返回true和 false。并且,可以通過使用兩次邏輯非運算來得到一個值的布爾值:

        “!”具有很高的優先級,并且和操作數緊密的綁在一起,如果希望對p && q,則需要園括號!(p && q)。如下代碼:

        !(p && q) === !p || !q
         !(p || q) === !p && !q

        對于p和q取任何值,這兩個表達式永遠成立。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript基礎課程之邏輯表達式定義用法詳解

        javascript基礎課程之邏輯表達式定義用法詳解:邏輯運算符"&&"、!是對操作進行布爾算術運算,經常和關系運算符一起配合使用,邏輯運算符將多個關系表達式組合起來組成一個更復雜的表達式。i.邏輯與"&&"運算符可以從三個不同的層次進行理解。最簡單一層理
        推薦度:
        標簽: 使用 定義 講解
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久亚洲AV成人出白浆无码国产| 亚洲日本中文字幕天堂网| 亚洲av无码一区二区三区网站| 一级毛片免费一级直接观看| 国产成人亚洲综合无码| 国产免费久久久久久无码| 国产午夜亚洲精品理论片不卡| 久久久精品视频免费观看| 亚洲日韩aⅴ在线视频| 日本不卡免费新一区二区三区| 久久精品国产亚洲AV无码麻豆| 18以下岁毛片在免费播放| 亚洲另类春色校园小说| 天天操夜夜操免费视频| 日韩精品无码永久免费网站| 久久亚洲国产成人精品无码区| 光棍天堂免费手机观看在线观看 | 日韩免费高清视频网站| 亚洲乱妇老熟女爽到高潮的片| 日本免费无遮挡吸乳视频电影| 深夜久久AAAAA级毛片免费看| 中文字幕亚洲乱码熟女一区二区| 国产精品免费大片| 激情综合亚洲色婷婷五月| 国产在线ts人妖免费视频| 一区二区三区免费看| 亚洲日韩区在线电影| 成视频年人黄网站免费视频| 亚洲aⅴ无码专区在线观看| 成人亚洲性情网站WWW在线观看| 无码人妻丰满熟妇区免费 | 精品韩国亚洲av无码不卡区| 亚洲乱码日产精品a级毛片久久| 国内精品一级毛片免费看| 亚洲人成人77777在线播放| 亚洲AV之男人的天堂| 久99久精品免费视频热77| 亚洲日本中文字幕天天更新| 亚洲精品~无码抽插| 久久精品女人天堂AV免费观看 | 国产精品免费看久久久|