国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入理解JS中邏輯或(||)和邏輯與(&&)

sanyang / 2686人閱讀

摘要:如果第一項的值為時,則執行后面一項的運算,返回的是第二項執行運算后的值再來看多一個例子,自己多動手嘗試看看就明白了。

先來看一個關于邏輯或的例子:

var b = 0
var a = b++ || b++
console.log(b)      // 2
var c = ++b || ++b
console.log(a)      // 1
console.log(c)      // 3
console.log(b)      // 3
關于 ++b和b++的區別,后++的運算等級沒有賦值運算符(=)高,?這里不再作過多的解釋,

首先從全局來看,關于的b的運算總共執行了4次,每次都自身+1,那么按道理來說,如果這些運算都執行了,b的最后的值正常來說應該是4,那為什么最后的結果是3呢?

關于邏輯或(||) 我自己總結如下:
①、首先如果第一項的值不是Boolean值的話,會轉為Boolean類型的,在數值上,0和-0在轉為Boolean時為false,其余為true,在其他值上諸如null,undefined,NaN,空string類型等會轉為false,可以自己嘗試一下
console.log(Boolean(NaN))? ? ? ? ? ? ? ?  // false
console.log(Boolean(null))? ? ? ? ? ? ? ? // false
console.log(Boolean(undefined))? ? ?      // false
console.log(Boolean(""))? ? ? ? ? ? ? ? ? // false
console.log(Boolean(" 0"))? ? ? ? ? ? ? ? // true
②、如果第一項的值為true時,則后面一項則不執行,返回的是第一項執行運算后的值
網上看到的是說如果第一項為true,返回的也是true,這是不對的說法。
③、如果第一項的值為false時,則執行后面一項的運算,返回的是第二項執行運算后的值 
再來看多一個例子,自己多動手嘗試看看就明白了。
var b = 0
var a = (typeof b++) || b++
console.log(b)               //1        
var c = ++b || ++b
console.log(a)               // number   
console.log(c)               // 2        
console.log(b)               // 2 

-------------------------- ? ? 來個分割線? ? ? ----------------------------------
看一個關于邏輯與的例子

var b = 0
var a = (typeof b++) && b++ 
console.log(b)                // 2
var c = ++b && ++b
console.log(a)                // 1
console.log(c)                // 4
console.log(b)                // 4
關于邏輯與(&&) 我自己總結如下:
①、邏輯與和邏輯或一樣,都需要把前后兩項進行Boolean轉換再比較
②、如果第一項的值為true時,則執行后面一項的運算,返回的是第二項執行運算后的值
③、如果第一項的值為false時,則后面一項則不執行,返回的是第一項執行運算后的值

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100549.html

相關文章

  • ahooks useRequest源碼深入解讀

      大家會發現,自從 React v16.8 推出了 Hooks API,前端框架圈并開啟了新的邏輯復用的時代,從此無需在意 HOC 的無限套娃導致性能差的問題,同時也解決了 mixin 的可閱讀性差的問題。這里也有對于 React 最大的變化是函數式組件可以有自己的狀態,扁平化的邏輯組織方式,更加友好地支持 TS 類型聲明。  在運用Hooks的時候,除了 React 官方提供的,同時也支持我們...

    3403771864 評論0 收藏0
  • JS邏輯運算符 && 的理解

    摘要:然而,和運算符會返回一個指定操作數的值,因此,這些運算符也用于非布爾值。例如返回值為返回值為返回值為除此之外的值,都會讓判斷繼續執行,直到最后一個值。 JS中邏輯運算符 && 的理解 從一個場景開始 我們試想這樣一個場景,有這樣一個對象,其數據結構為: const obj = { a: { b: { c: i am c ...

    caiyongji 評論0 收藏0
  • 深入理解Flex布局 -- flex-grow & flex-shrink & fl

    摘要:我希望實現一個左中右三列的布局,其中左右部分固定寬度,中間部分自適應實現起來很簡單,代碼如下到此為止一切都很美好。解決方法是給加上此時的完整代碼如下寬度為的內容完整的在這里實戰經驗到此結束,下面我們再深入學習涉及到的知識點。 歡迎關注我的公眾號睿Talk,獲取我最新的文章:showImg(https://segmentfault.com/img/bVbmYjo); 一、前言 最近在項目...

    sydMobile 評論0 收藏0
  • ES2018 學習筆記(2)&& || 的運算優先級

    摘要:為什么比優先級高起因偶然在網上搜索運算符優先級,幾乎每個版本都告訴讀者比優先級更高,包括這樣的權威網站也不例外。這與自己經驗不符它們應該是優先級一樣的。 為什么 && 比 || 優先級高? 起因 偶然在網上搜索 js 運算符優先級,幾乎每個版本都告訴讀者 && 比 || 優先級更高,包括 MSN 這樣的權威網站也不例外。 MDN Operator_Precedence 這與自己經驗不符...

    james 評論0 收藏0
  • 常用列表頁常見hook封裝解析

      我們今天來講講關于ahooks 源碼,我們目標主要有以下幾點:  深入了解 React hooks。  明白如何抽象自定義 hooks,且可以構建屬于自己的 React hooks 工具庫。  小建議:培養閱讀學習源碼的習慣,工具庫是一個對源碼閱讀不錯的選擇。  列表頁常見元素  后臺管理系統中常見典型列表頁包括篩選表單項、Table表格、Pagination分頁這三部分。  針對使用 Ant...

    3403771864 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<