JS短路原理的應(yīng)用示例 精簡代碼的途徑
在js邏輯運算中,0、""、null、false、undefined、NaN都會判為false,其他都為true.
||先計算第一個運算數(shù),如果可以被轉(zhuǎn)換成true,則返回左邊這個表達(dá)式的值,否則計算第二個運算數(shù)。即使||運算符的運算數(shù)不是布爾值,任然可以將它看作布爾OR運算,因為無論它返回的值是什么類型,都可以被轉(zhuǎn)換為布爾值。
利用它對非布爾型的值會將其返回的特性:對非布爾型的運算數(shù)使用||,用于選取一組備選值中的第一個定義了的并且非空的值(第一個為非false的值)
例:
var max = max_width || obj.max_width || 500 ;
var attr = attr || "";這個運算經(jīng)常用來判斷一個變量是否已定義,如果沒有定義就給他一個初始值,在給函數(shù)的參數(shù)定義一個默認(rèn)值的時比較有用。
&&,它先計算第一個表達(dá)式,若為假,就不會去處理第二個表達(dá);否則繼續(xù)處理后繼表達(dá)式。從左到右選取表達(dá)式的第一個為非true的表達(dá)式的值,如果一直未找到則返回最后一個表達(dá)式的值。
例:(其中的味道還需要細(xì)心琢磨)
2 && 's1' && '123' && 'sss' 表達(dá)式的值等于 'sss'
2 && 's1' && '' && 'sss' 表達(dá)式的值等于 ''
2 && 's1' && NaN && 'sss'表達(dá)式的值等于 NaN
if(a >=5){
alert("你好");
}
可以簡成:
a >= 5 && alert("你好");
typeof 5和typeof !!5的區(qū)別,這是一種更嚴(yán)謹(jǐn)?shù)膶懛?!!的作用是把一個其他類型的變量轉(zhuǎn)成的bool類型。例如, if(!!attr) => if(attr)
js中||和&&的特性幫我們精簡了代碼的同時,也帶來了代碼可讀性的降低。這就需要我們自己來權(quán)衡了。
JS中的startWith功能的巧妙實現(xiàn),alert(!'asdf'.indexOf('s')) =》 !0 = true
相關(guān)文章
js使用for循環(huán)及if語句判斷多個一樣的name
這篇文章主要介紹了js使用for循環(huán)機if語句判斷多個一樣的name,此法比較實用,需要的朋友可以參考下2014-09-09JS禁止瀏覽器右鍵查看元素或按F12審查元素自動關(guān)閉頁面示例代碼
這篇文章主要給大家介紹了關(guān)于利用Javascript如何禁止瀏覽器右鍵查看元素,或者通過按F12審查元素,觸犯這兩個條件會自動并關(guān)閉頁面的相關(guān)資料,通過設(shè)置這個可以防止別人扒下自己的網(wǎng)頁,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09BootstrapTable與KnockoutJS相結(jié)合實現(xiàn)增刪改查功能【二】
這篇文章主要介紹了BootstrapTable與KnockoutJS相結(jié)合實現(xiàn)增刪改查功能【二】的相關(guān)資料,非常具有參考價值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05一些Javascript的IE和Firefox(火狐)兼容性的問題總結(jié)及常用例子
下面是一些Javascript的IE和Firefox(火狐)兼容性的常用例子2009-05-05JavaScript使用Max函數(shù)返回兩個數(shù)字中較大數(shù)的方法
這篇文章主要介紹了JavaScript使用Max函數(shù)返回兩個數(shù)字中較大數(shù)的方法,涉及javascript中Max函數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04javascript實現(xiàn)文本域?qū)懭胱址麜r限定字?jǐn)?shù)
這篇文章主要介紹了javascript實現(xiàn)文本域的寫入字符個數(shù)限定字?jǐn)?shù),需要的朋友可以參考下2014-02-02webpack5的entry和output配置小白學(xué)習(xí)
這篇文章主要為大家介紹了webpack5的entry和output使用配置小白學(xué)習(xí)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05詳解使用fetch發(fā)送post請求時的參數(shù)處理
這篇文章主要介紹了詳解使用fetch發(fā)送post請求時的參數(shù)處理的相關(guān)資料,需要的朋友可以參考下2017-04-04