亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【JavaScript 學(xué)以致用】值的判斷以及類型轉(zhuǎn)換

AZmake / 709人閱讀

摘要:隱式強(qiáng)制類型轉(zhuǎn)換隱式強(qiáng)制類型轉(zhuǎn)換指的是一些特殊的操作的副作用來實(shí)現(xiàn)類型轉(zhuǎn)換,而非和等函數(shù)來實(shí)現(xiàn)值的類型轉(zhuǎn)換。下面幾種情況會(huì)發(fā)生布爾值的強(qiáng)制類型轉(zhuǎn)換語(yǔ)句中的天健判斷表達(dá)式。

引言

來到北京已經(jīng)有4個(gè)年頭了,做過一些測(cè)試、打雜、前端的工作之后,最后還是選擇了前端的工作。現(xiàn)階段主要還是在寫業(yè)務(wù)代碼,代碼質(zhì)量,工作效率就顯得尤為重要?!緦W(xué)以致用】這個(gè)系列主要記錄一些平時(shí)工作、學(xué)習(xí)遇到的一些問題,方便以后查漏補(bǔ)缺。

value 顯示強(qiáng)制類型轉(zhuǎn)換

最新的 ECMAScript 標(biāo)準(zhǔn)定義了 7 種數(shù)據(jù)類型:

6 種原始類型:

Boolean

Null

Undefined

Number

String

Symbol (ECMAScript 6 新定義)

Object

通常我們?cè)诠ぷ鞯臅r(shí)候需要和后臺(tái)對(duì)接,函數(shù)在處理返回值的時(shí)候如果做了容錯(cuò)判斷,把數(shù)據(jù)轉(zhuǎn)換成我們想要的類型,在編寫后續(xù)業(yè)務(wù)代碼的時(shí)候就會(huì)更加輕松 :-D

下圖是 《JavaScript權(quán)威指南》中關(guān)于類型轉(zhuǎn)換的總結(jié):

舉個(gè)栗子:后臺(tái)返回值為一個(gè)字符串,內(nèi)容是0 ~ 5的數(shù)字,現(xiàn)在使用的時(shí)候需要將參數(shù)轉(zhuǎn)化為數(shù)字類型。

// wrong
return Number(value) 
// "" -> 0 
// undefined -> NaN 
// "aaa" -> NaN

// right 前面是剔除掉 "" undefined ,后面可以剔除掉 NaN 的類型
if (value && Number(value) >= 0) {
    return Number(value);
} else {
    return null; 
}

關(guān)于值的比較,當(dāng)我們只關(guān)心值是否正常時(shí),還有一個(gè)比較靠譜的方法:正則表達(dá)式,上面的例子也可以這樣來寫:

if (/[0-5]/.test(value)) {
    return Number(value);
} else {
    return null; 
}

小結(jié):在判斷兩個(gè)值是否相等時(shí),最好顯式的轉(zhuǎn)化,讓代碼更加清晰易讀,然后用全等運(yùn)算符 === 或者 !== 來比較。

隱式強(qiáng)制類型轉(zhuǎn)換

隱式強(qiáng)制類型轉(zhuǎn)換指的是一些特殊的操作的副作用來實(shí)現(xiàn)類型轉(zhuǎn)換,而非 Number()String() 等函數(shù)來實(shí)現(xiàn)值的類型轉(zhuǎn)換。隱式強(qiáng)制類型轉(zhuǎn)換通常會(huì)使代碼更加簡(jiǎn)潔,但同時(shí)也增加了代碼的理解難度,我們編寫的代碼大都是給別人看的,要考慮到大家的理解是否保持一致。

數(shù)字和字符串的轉(zhuǎn)換,個(gè)人習(xí)慣是使用顯示的轉(zhuǎn)換,這里不再贅述。

ToBoolean

下面幾種情況會(huì)發(fā)生布爾值的強(qiáng)制類型轉(zhuǎn)換:

if (..) 語(yǔ)句中的天健判斷表達(dá)式。

for (.. ; .. ; ..) 語(yǔ)句中的條件判斷表達(dá)式。

while (..) 循環(huán)中的條件判斷表達(dá)式。

? : 中的條件判斷表達(dá)式

|| 和 && 的做操作數(shù)

switch 語(yǔ)句使用的是全等判斷,不會(huì)發(fā)生隱式的強(qiáng)制轉(zhuǎn)換。

轉(zhuǎn)換的結(jié)果可以參照上面的表格,或者下面的鏈接

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/103513.html

相關(guān)文章

  • JavaScript類型轉(zhuǎn)換的迷糊事兒

    摘要:下面分幾步來簡(jiǎn)單的探探不同類型的轉(zhuǎn)換吧以下的內(nèi)容,都可以從權(quán)威指南中找到。其他值轉(zhuǎn)換成在編寫代碼的過程中,幾乎不用考慮它的取值類型。核心內(nèi)置類,會(huì)嘗試先于可以理解為對(duì)象優(yōu)先轉(zhuǎn)換成數(shù)字例外的是,利用的是轉(zhuǎn)換。 最近在寫公司的登錄注冊(cè)模塊,遇到類型不同相比較的時(shí)候,就心驚膽戰(zhàn),每次都要用瀏覽器來驗(yàn)證一下,決定亂七八糟的隨便寫一下,方便日后自己回顧知識(shí)~ 弱類型帶來的那些讓人迷糊的事 弱類型...

    harriszh 評(píng)論0 收藏0
  • JavaScript核心屬性-數(shù)據(jù)類型

    摘要:聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。浮點(diǎn)類型表示包含小數(shù)部分。浮點(diǎn)類型所占的空間是整數(shù)類型的兩倍。 原始類型 原始類型,又稱原始值,是直接代表JavaScript語(yǔ)言實(shí)現(xiàn)的最底層數(shù)據(jù)。原始類型分為 boolean類型、number類型、string類型三種。聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。 ...

    james 評(píng)論0 收藏0
  • JavaScript類型轉(zhuǎn)換與各種運(yùn)算符

    摘要:第十七天筆記類型轉(zhuǎn)換隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是弱類型松散類型的在任何情況下都可以強(qiáng)制轉(zhuǎn)換定義類型類型以及類型的變量臥龍前端轉(zhuǎn)換為類型轉(zhuǎn)換為類型類型轉(zhuǎn)換為類型如果文本內(nèi)容是普通的文本非數(shù)字轉(zhuǎn)換后的結(jié)果為如果文本內(nèi)容是數(shù)字值轉(zhuǎn)換后的結(jié)果為對(duì) 第十七天筆記 類型轉(zhuǎn)換 隱式類型轉(zhuǎn)換 隱式類型轉(zhuǎn)換 JavaScript是弱類型/松散類型的 在任何情況下都可以強(qiáng)制轉(zhuǎn)換 //定義number類型 s...

    Aklman 評(píng)論0 收藏0
  • 【基礎(chǔ)系列】javascript數(shù)據(jù)類型(原始類型

    摘要:返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。布爾值中布爾值有兩個(gè)和和都表示值的空缺,但事從背后更深遠(yuǎn)的角度考慮,他們的還是有差別的。首先我們來看一下類型轉(zhuǎn)化表任意的值都可以轉(zhuǎn)換為布爾值,只有會(huì)被轉(zhuǎn)換為,其他所有值都會(huì)被轉(zhuǎn)換成。 開辟了一個(gè)關(guān)于javascript的基礎(chǔ)系列,更加深入、細(xì)致的了解這門語(yǔ)言。今天分享的是js的數(shù)據(jù)類型。 javascript的數(shù)據(jù)類型可以分為兩類:原始類...

    aikin 評(píng)論0 收藏0
  • javascript系列】布爾類型轉(zhuǎn)換

    摘要:基本值原始值原始的布爾類型有兩個(gè)值和。創(chuàng)建布爾值的方式直接用字面量用函數(shù),將其他任意值轉(zhuǎn)換成對(duì)應(yīng)的原始布爾值。使用兩次非運(yùn)算符,將其轉(zhuǎn)換成對(duì)應(yīng)的布爾類型。下面來看一些將其他類型轉(zhuǎn)換成布爾類型的例子。 基本值(原始值) 原始的布爾類型boolean有兩個(gè)值: false 和 true。 > typeof false boolean > typeof true boolean 創(chuàng)建布爾值的...

    wangxinarhat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<