av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

JavaScript邏輯運算符相關總結

瀏覽:98日期:2023-10-15 15:15:12

前言

關于 JavaScript 中的邏輯運算符,我們經常使用卻可能不知道它的一些機制和用法。

機制

首先我們需要知道幾種邏輯運算符的優(yōu)先級是不同的(關于完整的運算符優(yōu)先級,看運算符優(yōu)先級),邏輯非>邏輯與>邏輯或>條件運算符(三目運算符)。運算順序條件運算符是從右向左,而邏輯與和邏輯或都是從左向右。

//表達式的優(yōu)先級導致結果不同false && true || true // 結果為 truefalse && (true || true) // 結果為 false

邏輯運算表達式返回的是字表達式的值,而不是一個 Boolean,只不過很多時候我們使用邏輯表達式的地方幫我們強制轉換了,比如 if 語句等。

邏輯運算符通常用于布爾型(邏輯)值。這種情況下,它們返回一個布爾值。然而, && 和 || 運算符會返回一個指定操作數(shù)的值,因此,這些運算符也用于非布爾值。這時,它們也就會返回一個非布爾型值。

邏輯與 expression1 && expression2 的機制是,如果 expression1 能夠轉換為 true 那么返回 expression2 ,否則返回 expression1。

邏輯或 expression1 || expression2 的機制是,如果 expression1 能夠轉化為 true 那么返回 expression1,否則返回 expression2。

邏輯非 !expression ,若 expression 能夠轉化為 true 則返回 false,否則返回 true。

expression 可能是任何一種類型, 不一定是布爾值。

會被轉化為 false 的表達式有:

null NaN 0 空字符串('' or ’’ or“` “ “`) undefined

需要特別注意的是 undefined,有些表達式返回的是 undefined ,比如沒有設置 return 的函數(shù)執(zhí)行的返回值就是 undefined。

盡管 && 和 || 運算符能夠使用非布爾值的操作數(shù), 但它們依然可以被看作是布爾操作符,因為它們的返回值總是能夠被轉換為布爾值。如果要顯式地將它們的返回值(或者表達式)轉換為布爾值,請使用雙重非運算符(即!!)或者 Boolean 構造函數(shù)。

雙重非運算符 !! 可以將任意值強制轉換為布爾值,在需要條件判斷的地方經常使用。

短路計算

邏輯運算的機制還存在短路計算:

(some falsy expression1) && (expression2) 短路計算的結果為假。 (some truthy expression1) || (expression2) 短路計算的結果為真。

短路意味著上述表達式中的 expression2 部分不會被執(zhí)行,因此 expression2 的任何副作用都不會生效(舉個例子,如果 expression 是一次函數(shù)調用,這次調用就不會發(fā)生)。造成這種現(xiàn)象的原因是,整個表達式的值在第一個操作數(shù)被計算后已經確定了。

用法

利用 javascript 中邏輯運算符支持任意類型和短路計算的特性我們可以將邏輯運算符運用到一些特殊的地方。

邏輯與

邏輯與可以用來獲得第一個假值,比如 expr1 && expr2 && expr3,當其中存在假值的時候會被返回。也可以類推至前面的表達式都為真的時候執(zhí)行最后一個表達式來簡化判斷邏輯的代碼,比如 x > 0 && a(),這可以代替 if 語句。

邏輯或

邏輯或可以用來設置默認值,比如你的函數(shù)需要用戶輸入一個參數(shù),如果用戶沒有輸入則給定一個默認值。this.a = param || {}。

以上就是JavaScript邏輯運算符相關總結的詳細內容,更多關于JavaScript邏輯運算符的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 日日舔| 免费欧美视频 | 青青青在线视频 | 手机av免费| 少妇精品视频 | 成人片在线播放 | 97精品超碰一区二区三区 | 一区在线播放 | 97在线视频免费观看 | 操碰97| 国产精品久久久久久无人区 | 综合久久久久 | 亚洲福利视频一区 | 国产黄色片在线观看 | 久久久久性 | 日韩一级淫片 | 欧美777 | 一区在线视频 | 人人爽视频 | 国产欧美日韩在线观看 | 一个色综合网 | 日韩中文字幕第一页 | 黄色在线免费网站 | 欧美日韩精品久久久免费观看 | 夜夜草av | 97色在线| 国产高潮在线 | 天堂资源中文在线 | 午夜小视频在线观看 | 国产中文字幕在线观看 | 91精品国产乱码久久久久久 | www.久久精品| 久久久久久久91 | 日皮视频在线观看 | 成人免费视频国产免费麻豆 | 成人aaa | 亚洲午夜在线 | 日本欧美视频 | 欧美 日韩 国产 在线 | 久久精品国产一区二区 | 亚洲一区二区在线 |