摘要:邏輯與操作可以應用于任何類型的操作數,而不僅僅是布爾值。對于邏輯與操作而言,如果第一個操作數是,則無論第二個操作數是什么值,結果都不再可能是了。與邏輯與操作符相似,邏輯或操作符也是短路操作符。
邏輯與操作可以應用于任何類型的操作數,而不僅僅是布爾值。在有一個操作數不是布爾值的情況下,邏輯與操作就不一定返回布爾值;此時,它遵循下列規則:
如果第一個操作數是對象,則返回第二個操作數;
如果第二個操作數是對象,則只有在第一個操作數的求值結果為true的情況下才會返回該對象;
如果兩個操作數都是對象,則返回第二個操作數;
如果有一個操作數是null,則返回null;
如果有一個操作數是NaN,則返回NaN;
如果有一個操作數是undefined,則返回undefined。
邏輯與操作屬于短路操作,即如果第一個操作數能夠決定結果,那么就不會再對第二個操作數求值。對于邏輯與操作而言,如果第一個操作數是false,則無論第二個操作數是什么值,結果都不再可能是true了。
與邏輯與操作相似,如果有一個操作數不是布爾值,邏輯或也不一定返回布爾值;此時,它遵循下列規則:
如果第一個操作數是對象,則返回第一個操作數;
如果第一個操作數的求值結果為false,則返回第二個操作數;
如果兩個操作數都是對象,則返回第一個操作數;
如果兩個操作數都是null,則返回null;
如果兩個操作數都是NaN,則返回NaN;
如果兩個操作數都是undefined,則返回undefined。
與邏輯與操作符相似,邏輯或操作符也是短路操作符。也就是說,如果第一個操作數的求值結果為true,就不會對第二個操作數求值了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79138.html
摘要:如果第一項的值為時,則執行后面一項的運算,返回的是第二項執行運算后的值再來看多一個例子,自己多動手嘗試看看就明白了。 先來看一個關于邏輯或的例子: var b = 0 var a = b++ || b++ console.log(b) // 2 var c = ++b || ++b console.log(a) // 1 console.log(c) //...
摘要:以戰爭與和平為藍本回顧了歷史,也給出了非常贊的觀察視角,程序員應該務實,而不是教條,更重要的是保持好奇心。初版于年前發布的,作者重寫整個倉庫從到之后,最近發布了版本,新版最大變化是升級到。 showImg(https://segmentfault.com/img/remote/1460000009584813); 不知道大家是否注意到,社區中出現的 CSS 尤其是 CSS-IN-JS...
摘要:與相乘,結果為與非數值相乘,結果為或者除以,結果為除以,結果為如果是非零的有限數被零除,則結果是或總的來說,得出的結果為不可預測的基本都為任何操作數與進行關系比較,結果都是。實際開發不建議使用語句,會造成調試的困難增加 1.負數二進制存儲使用的格式是二進制補碼,計算一個數值的二進制補碼步驟如下: (1)取該值的絕對值的二進制(2)取反碼(3)反碼+1,從而得出補碼 2.位操作: (...
摘要:上一個版本的問題接這篇文章,聊聊參數檢查工具的完善。最終實現了這樣的效果檢查是否在區間與的交集內檢查是否在區間與的并集內檢查是否是數組并且長度大于檢查是否不是之間的偶數即 上一個版本的問題 接這篇文章,聊聊參數檢查工具 param-check 的完善。 按照之前的接口設計,鏈式調用表示與,參數表表示或,自然產生了一個問題——如果我要表達(A與B)或(C與D)這樣的邏輯組合應該怎么辦? ...
閱讀 1702·2021-11-18 10:02
閱讀 2218·2021-11-15 11:38
閱讀 2666·2019-08-30 15:52
閱讀 2190·2019-08-29 14:04
閱讀 3231·2019-08-29 12:29
閱讀 2086·2019-08-26 11:44
閱讀 994·2019-08-26 10:28
閱讀 830·2019-08-23 18:37