成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

AZmake / 629人閱讀

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

引言

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

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

最新的 ECMAScript 標準定義了 7 種數(shù)據(jù)類型:

6 種原始類型:

Boolean

Null

Undefined

Number

String

Symbol (ECMAScript 6 新定義)

Object

通常我們在工作的時候需要和后臺對接,函數(shù)在處理返回值的時候如果做了容錯判斷,把數(shù)據(jù)轉(zhuǎn)換成我們想要的類型,在編寫后續(xù)業(yè)務(wù)代碼的時候就會更加輕松 :-D

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

舉個栗子:后臺返回值為一個字符串,內(nèi)容是0 ~ 5的數(shù)字,現(xiàn)在使用的時候需要將參數(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)于值的比較,當我們只關(guān)心值是否正常時,還有一個比較靠譜的方法:正則表達式,上面的例子也可以這樣來寫:

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

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

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

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

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

ToBoolean

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

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

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

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

? : 中的條件判斷表達式

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103513.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    wangxinarhat 評論0 收藏0

發(fā)表評論

0條評論

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