亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS 數(shù)字轉(zhuǎn)換研究總結(jié)

 更新時間:2013年12月26日 18:04:33   作者:  
這篇文章主要介紹了JS 數(shù)字轉(zhuǎn)換實現(xiàn)方法,需要的朋友可以參考下
JS 轉(zhuǎn)換數(shù)據(jù)為數(shù)字的方法有三類五種,包括:

•強制轉(zhuǎn)換,JS 的基本數(shù)據(jù)類型都這以這樣轉(zhuǎn)換成對應(yīng)的類型(Number(v))
•原生函數(shù),這兩個函數(shù)有不一樣的結(jié)果(parseInt(v,radix)、parseFloat(v))
•隱式轉(zhuǎn)換,在執(zhí)行的時候 JS 會轉(zhuǎn)換變量為對應(yīng)類型(位計算,數(shù)學(xué)計算)
轉(zhuǎn)換的原值也可以簡單分為三類:對象、特殊值、字符串。

JS 中的特殊值包括以下幾個。

•undefined,未定義,當(dāng)變量聲明但沒賦值或者一個對象不存在的屬性的值就是這個了。
•NaN/Infinity,這是兩個頑固的“數(shù)字”(typeof == number),分別表示非數(shù)字和無限大的數(shù)。貌似沒什么用,轉(zhuǎn)換成數(shù)字失敗的話,返回值基本是NaN。
•null,當(dāng)成零值用的對象(typeof == object)。
•true/false,布爾值,表示真、假,等價于1/0。
對于字符串,根據(jù)內(nèi)容還可以進行細分。根據(jù) JS 數(shù)字表達式,可以分為合法和非法。合法的數(shù)字有幾種不同的分類方法:

•符號:正號、負(fù)號、無符號
•進制:八進制、十進制、十六進制
•科學(xué)記數(shù)法
•小數(shù)、整數(shù),以及小數(shù)的簡寫
根據(jù)上面的分類,我制作了一個 Demo,用來測試不同方法、數(shù)值轉(zhuǎn)換后的結(jié)果。下面的截圖是在 chrome 下的轉(zhuǎn)換。



看結(jié)果只有位計算能把任何值轉(zhuǎn)換為有限數(shù)(isFinite),數(shù)學(xué)計算和強制轉(zhuǎn)換的結(jié)果是一樣的。

特殊值的轉(zhuǎn)換和原值以及轉(zhuǎn)換方法都有關(guān)系。parseInt/parseFloat 全部轉(zhuǎn)換失敗,返回 NaN。

•NaN/undefined 用其它方法全轉(zhuǎn)換成 NaN;
•Infinity 被 parseInt 轉(zhuǎn)換成 NaN,剩下的方法不改變它的值;
•null/false/true 不能被 parseInt/parseFloat 轉(zhuǎn)換,返回 NaN。
對字符串的轉(zhuǎn)換分析主要看轉(zhuǎn)換方法,但全部方法都不支持八進制表示的數(shù)字,而是當(dāng)成對應(yīng)的十進制數(shù)。

•邏輯計算轉(zhuǎn)換除負(fù)十六進制數(shù)外的合法表達式,并舍去小數(shù)部分;不合法的表達式返回零。
•數(shù)學(xué)計算/Number 和邏輯計算類似,但不舍去小數(shù);除空字符串外的不合法表達式返回 NaN。
•parseInt 也是只保留整數(shù)部分;但是對不合法的表達式,取字符串前面合法的整數(shù)(十進制、十六進制,不包括科學(xué)記數(shù)法)部分轉(zhuǎn)換,沒有則返回 NaN。
•parseFloat 和 parseInt 類似,不同的是能識別并保留小數(shù)部分,并且不支持十六進制數(shù)。

相關(guān)文章

最新評論