麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > JavaScript > 正文

JS短路原理的應(yīng)用示例 精簡(jiǎn)代碼的途徑

2019-11-20 21:27:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在js邏輯運(yùn)算中,0、""、null、false、undefined、NaN都會(huì)判為false,其他都為true.

||先計(jì)算第一個(gè)運(yùn)算數(shù),如果可以被轉(zhuǎn)換成true,則返回左邊這個(gè)表達(dá)式的值,否則計(jì)算第二個(gè)運(yùn)算數(shù)。即使||運(yùn)算符的運(yùn)算數(shù)不是布爾值,任然可以將它看作布爾OR運(yùn)算,因?yàn)闊o(wú)論它返回的值是什么類(lèi)型,都可以被轉(zhuǎn)換為布爾值。
利用它對(duì)非布爾型的值會(huì)將其返回的特性:對(duì)非布爾型的運(yùn)算數(shù)使用||,用于選取一組備選值中的第一個(gè)定義了的并且非空的值(第一個(gè)為非false的值)

例:
var max = max_width || obj.max_width || 500 ;
var attr = attr || "";這個(gè)運(yùn)算經(jīng)常用來(lái)判斷一個(gè)變量是否已定義,如果沒(méi)有定義就給他一個(gè)初始值,在給函數(shù)的參數(shù)定義一個(gè)默認(rèn)值的時(shí)比較有用。

&&,它先計(jì)算第一個(gè)表達(dá)式,若為假,就不會(huì)去處理第二個(gè)表達(dá);否則繼續(xù)處理后繼表達(dá)式。從左到右選取表達(dá)式的第一個(gè)為非true的表達(dá)式的值,如果一直未找到則返回最后一個(gè)表達(dá)式的值。

例:(其中的味道還需要細(xì)心琢磨)

2 && 's1' && '123' && 'sss' 表達(dá)式的值等于 'sss'
2 && 's1' && '' && 'sss' 表達(dá)式的值等于 ''
2 && 's1' && NaN && 'sss'表達(dá)式的值等于 NaN

if(a >=5){
alert("你好");
}
可以簡(jiǎn)成:
a >= 5 && alert("你好");

typeof 5和typeof !!5的區(qū)別,這是一種更嚴(yán)謹(jǐn)?shù)膶?xiě)法,!!的作用是把一個(gè)其他類(lèi)型的變量轉(zhuǎn)成的bool類(lèi)型。例如, if(!!attr) => if(attr)

js中||和&&的特性幫我們精簡(jiǎn)了代碼的同時(shí),也帶來(lái)了代碼可讀性的降低。這就需要我們自己來(lái)權(quán)衡了。

JS中的startWith功能的巧妙實(shí)現(xiàn),alert(!'asdf'.indexOf('s')) =》 !0 = true

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产乱码久久久久久丨区2区 | 香蕉视频99 | 在线成人免费av | 国产精品高潮99久久久久久久 | 久久男人视频 | 国产亚洲精品综合一区 | 狠狠久久伊人中文字幕 | 久久精品视频16 | 国产成人精品免高潮在线观看 | 免费午夜网站 | 久久久久亚洲视频 | 特级黄色小说 | 亚洲91精品 | 欧美一级在线免费 | 91久久国产露脸精品国产护士 | 91av在线影院| 国产精品一区二区三区99 | 午夜在线观看视频网站 | 农村寡妇偷毛片一级 | 在线播放免费播放av片 | 久久九九热re6这里有精品 | 看个毛片| 精品成人av一区二区三区 | 羞羞漫画无遮挡观看 | 国产精品久久久久久久不卡 | 性猛交ⅹxxx乱巴西 在线播放中文 | 久久久久久免费免费 | 久久男人天堂 | 国产免费一区二区三区在线能观看 | 国产成人精品区 | 久久久av亚洲男天堂 | 中文字幕一区二区三区四区 | 狠狠干最新网址 | 久久久久久久久久久久免费 | 49vv看片免费 | 国产一区视频在线观看免费 | 国产精选电影免费在线观看网站 | 中文字幕一区2区 | 日韩精品无码一区二区三区 | 黄色av电影在线播放 | 蜜桃网站在线 |