日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

javascript “||”、“”的运用

發(fā)布時(shí)間:2023/12/20 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript “||”、“”的运用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

你是否看到過(guò)這樣的代碼:a=a||""; 可能javascript初學(xué)者會(huì)對(duì)此感到茫然。今天就跟大家分享一下我的一些心得。

其實(shí),以下三種方式是完全等價(jià)的

a=a||"defaultValue"; if(!a){a="defaultValue";} if(a==null||a==""||a==undefined){a="defaultValue";}

為了弄清這個(gè)問(wèn)題,首先我們必須了解一個(gè)問(wèn)題:javascript中數(shù)據(jù)類(lèi)型在轉(zhuǎn)換為bool類(lèi)型時(shí)發(fā)生了什么。

?

在javascript中,數(shù)據(jù)類(lèi)型可以分為“真值”和“假值”。顧名思義,真值轉(zhuǎn)換為bool時(shí)值為true;假值轉(zhuǎn)換為bool時(shí)值為false。下表羅列了一些常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為bool時(shí)的值:

數(shù)據(jù)類(lèi)型轉(zhuǎn)換為bool后的值
nullFALSE
undefinedFALSE
ObjectTRUE
functionTRUE
0FALSE
1TRUE
0、1之外的數(shù)字TRUE
字符串TRUE
""(空字符串)FALSE

在if表達(dá)式中,javascript首先將條件表達(dá)式轉(zhuǎn)換為bool類(lèi)型,表達(dá)式為真值則執(zhí)行if中的邏輯,否則跳過(guò)。

于是有了:

if(!a){a="defaultValue";}

再來(lái)看“&&”、“||”兩個(gè)表達(dá)式。

由于javascript是弱類(lèi)型語(yǔ)言,所以在javascript中這兩個(gè)表達(dá)式可能跟其他語(yǔ)言(比如java)中不太一樣。

在javascript中,“&&”運(yùn)算符運(yùn)算法則如下:

如果&&左側(cè)表達(dá)式的值為真值,則返回右側(cè)表達(dá)式的值;否則返回左側(cè)表達(dá)式的值。

這就是說(shuō):

var i=""&&"真值";//->i=""i="真值"&&"其他真值";//->i="其他真值"i="真值"&&"";//->i=""

一句話(huà):?&&若都為真返回最后一個(gè);若有一個(gè)不為真,返回第一個(gè)為false(可能是fasle,0,undefined ,null,"")的值

于是,就可以理解:

a=a||"defaultValue";

的邏輯了。如果a為假值(等于null、空字符串……),則將"defaultValue"賦給a;否則將a的值賦給a本身。

一句話(huà):||返回左面第一個(gè)真值;如果都為false,否則返回最后一個(gè)false(可能是false,0,undefined,null,"")的值

原貼地址:?http://my249645546.iteye.com/blog/1553202

轉(zhuǎn)載于:https://www.cnblogs.com/fuxinci/archive/2012/11/06/2756436.html

總結(jié)

以上是生活随笔為你收集整理的javascript “||”、“”的运用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。