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

資訊專欄INFORMATION COLUMN

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

sanyang / 2689人閱讀

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

先來看一個關(guān)于邏輯或的例子:

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
關(guān)于 ++b和b++的區(qū)別,后++的運(yùn)算等級沒有賦值運(yùn)算符(=)高,?這里不再作過多的解釋,

首先從全局來看,關(guān)于的b的運(yùn)算總共執(zhí)行了4次,每次都自身+1,那么按道理來說,如果這些運(yùn)算都執(zhí)行了,b的最后的值正常來說應(yīng)該是4,那為什么最后的結(jié)果是3呢?

關(guān)于邏輯或(||) 我自己總結(jié)如下:
①、首先如果第一項的值不是Boolean值的話,會轉(zhuǎn)為Boolean類型的,在數(shù)值上,0和-0在轉(zhuǎn)為Boolean時為false,其余為true,在其他值上諸如null,undefined,NaN,空string類型等會轉(zhuǎn)為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時,則后面一項則不執(zhí)行,返回的是第一項執(zhí)行運(yùn)算后的值
網(wǎng)上看到的是說如果第一項為true,返回的也是true,這是不對的說法。
③、如果第一項的值為false時,則執(zhí)行后面一項的運(yùn)算,返回的是第二項執(zhí)行運(yùn)算后的值 
再來看多一個例子,自己多動手嘗試看看就明白了。
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 

-------------------------- ? ? 來個分割線? ? ? ----------------------------------
看一個關(guān)于邏輯與的例子

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
關(guān)于邏輯與(&&) 我自己總結(jié)如下:
①、邏輯與和邏輯或一樣,都需要把前后兩項進(jìn)行Boolean轉(zhuǎn)換再比較
②、如果第一項的值為true時,則執(zhí)行后面一項的運(yùn)算,返回的是第二項執(zhí)行運(yùn)算后的值
③、如果第一項的值為false時,則后面一項則不執(zhí)行,返回的是第一項執(zhí)行運(yùn)算后的值

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100549.html

相關(guān)文章

  • ahooks useRequest源碼深入解讀

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

    3403771864 評論0 收藏0
  • JS邏輯運(yùn)算符 && 的理解

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

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

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

    sydMobile 評論0 收藏0
  • ES2018 學(xué)習(xí)筆記(2)&& || 的運(yùn)算優(yōu)先級

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

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

      我們今天來講講關(guān)于ahooks 源碼,我們目標(biāo)主要有以下幾點(diǎn):  深入了解 React hooks。  明白如何抽象自定義 hooks,且可以構(gòu)建屬于自己的 React hooks 工具庫?! ⌒〗ㄗh:培養(yǎng)閱讀學(xué)習(xí)源碼的習(xí)慣,工具庫是一個對源碼閱讀不錯的選擇?! ×斜眄摮R娫亍 『笈_管理系統(tǒng)中常見典型列表頁包括篩選表單項、Table表格、Pagination分頁這三部分?! ♂槍κ褂?Ant...

    3403771864 評論0 收藏0

發(fā)表評論

0條評論

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