国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS 數字轉換研究總結

2024-05-06 15:57:52
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JS 數字轉換實現方法,需要的朋友可以參考下

JS 轉換數據為數字的方法有三類五種,包括:

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

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

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

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

JS 數字轉換研究總結



看結果只有位計算能把任何值轉換為有限數(isFinite),數學計算和強制轉換的結果是一樣的。

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

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

•邏輯計算轉換除負十六進制數外的合法表達式,并舍去小數部分;不合法的表達式返回零。
•數學計算/Number 和邏輯計算類似,但不舍去小數;除空字符串外的不合法表達式返回 NaN。
•parseInt 也是只保留整數部分;但是對不合法的表達式,取字符串前面合法的整數(十進制、十六進制,不包括科學記數法)部分轉換,沒有則返回 NaN。
•parseFloat 和 parseInt 類似,不同的是能識別并保留小數部分,并且不支持十六進制數。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 都安| 牙克石市| 潮州市| 沅陵县| 胶南市| 新巴尔虎左旗| 易门县| 新源县| 邛崃市| 小金县| 葵青区| 安泽县| 潞城市| 焦作市| 右玉县| 叙永县| 乐业县| 化州市| 牡丹江市| 天镇县| 咸宁市| 娱乐| 黄浦区| 信丰县| 夏邑县| 蓝山县| 安仁县| 河池市| 周宁县| 简阳市| 马关县| 聊城市| 宿松县| 忻州市| 修文县| 闽侯县| 仪征市| 巫山县| 上饶市| 丰城市| 巫山县|