国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Js中的Number

LiuZh / 1447人閱讀

摘要:如果參數不是數值都返回去掉非數字部分返回數字部分遇到的第一個非數字停止相比可以多識別一個和是將全局方法和,移植到對象上面,行為完全保持不變。

關于Number的常用方法和注意點

NaN

NaN 是代表非數字的特殊屬性

NaN 注意點

NaN不是一個數 但是屬于number類型

typeof NaN //"number"

NaNNaN不相等

NaN == NaN //false
何時會出現NaN

數字和 NaN 進行運算

1 [+ - * /] NaN = NaN

無效數學運算中

"a" - 1 || "a" * 1 || "a" / 1 = NaN  

數字 + undefined

1 + undefined = NaN

- 在進行運算的時候會 - * / 都會默認的調用 Number 方法 遇到無法轉換的都是 NaN
- 因為 + 在JS中不僅僅是數學運算, 遇到字符串的時候屬于字符串拼接 其他時候也會默認調用 Number 進行轉換
- 排除數字和 NaN 進行運算之外 也只有 數字 + undefined = NaN 具體的看Number()的轉換規則

Number()

Number() 方法把值轉換為數字

對字符串進行轉換

Number("66") //66
Number("66px") //NaN

對字符串進行轉換的時候只有 都是 數字才會轉換成數字 反之

對布爾值進行轉換 truefalse

Number(true) //1
Number(false) //0

對布爾值進行轉換的時候 true = 1 false = 0

nullundefined

Number(null) // 0
Number(undefined) //NaN

nullundefined 的區別請看 null和undefined的區別 阮老師的這篇文章詳細的介紹了

""[]

Number("") //0
Number([]) //0

[] 轉換為數字 首先調用數組的 toString 方法把 [] -> ""

isNaN(), Number.isNaN()

isNaN()是ES5方法 Number.isNaN()是ES6在 Number 對象上新增加方法

isNaN() 檢測一個值是否為NaN 會先調用Number() 將非數值的值轉為數值,再進行判斷

isNaN(NaN) //true
isNaN(1) //false
isNaN("1px") //true

Number.isNaN()只有對于NaN才返回true,非NaN一律返回false

isNaN(undefined) //true
Number.isNaN(undefined) //false 不會調用 Number
isNaN("NaN") // true
Number.isNaN("NaN") // false
Number.isInteger()

Number.isInteger() 判斷一個數值是否為整數。

Number.isInteger(11) // true
Number.isInteger(11.0) // true
Number.isInteger(11.1) // false

如果參數不是數值 都返回 false

Number.isInteger(null) //false
Number.isInteger(true) //false
Number.isInteger("") //false
parseInt(), Number.parseInt() parseFloat(), Number.parseFloat()

去掉非數字部分 返回數字部分
parseInt() 遇到的第一個非數字停止

parseInt("12px") // 12
parseInt("px12") //NaN

parseFloat() 相比 parseInt() 可以多識別一個 .

parseFloat("12.333px") // 12
parseFloat("px12.333") //NaN

Number.parseInt() Number.parseFloat() 是 ES6 將全局方法parseInt()parseFloat(),移植到Number對象上面,行為完全保持不變。

toFixed()

toFixed()保留小數點后幾位

1.14432.toFixed(2) // "1.14"
1.14532.toFixed(2) // "1.15"

toFixed()使用四舍五入法

Math 對象

Math是一個對象,里面提供了很多操作數字的相關方法

Math.abs()

Math.abs() 獲取絕對值

Math.abs(-1) //1
Math.abs(-true) //1
Math.ceil()

Math.ceil 向上取整

Math.ceil(12.000001) //13
Math.ceil(-12.6) //-12
Math.floor()

Math.floor 向下取整

Math.floor(12.6) //12
Math.floor(-12.6) //-13
Math.round()

Math.round() 四舍五入

Math.round(12.5) //13
Math.round(12.4) //12
Math.round(-12.4) //12
Math.round(-12.5) //12
Math.round(-12.6) //13
Math.max(), Math.min()

Math.max()取一組數的最大值

Math.max(12, 23, 13, 24, 23, 24, 25, 34, 15); //34

Math.min 取一組數的最小值

Math.min(12, 23, 13, 24, 23, 24, 25, 34, 15); //12
Math.random()

Math.random 獲取[0-1]之間的隨機小數

Math.random() //0.8184921957461317
Math.random() //0.351685690699056
Math.random() //0.4972569148842041
Math.trunc()

Math.trunc() 用于去除一個數的小數部分 返回整數

Math.trunc(1.23456) //1
Math.trunc(1.23456) //1
Math.trunc("3.43") //3
Math.trunc(true) //1
Math.trunc(NaN) //NaN
Math.trunc(undefined) //NaN

通過上面列子 很明顯的是Math.trunc() 方法 遇到非數字會默認調用Number()進行轉換

Math.sign()

Math.sign() 判斷一個數是正數、負數、還是零。會默認調用Number()進行轉換
- 參數為正數 返回 1
- 參數為負數 返回 -1
- 參數為 0 返回 0
- 參數為-0 返回 -0
- 其他值 返回 NaN

Math.sign(6) // 1
Math.sign(-6) // -1
Math.sign(0) // 0
Math.sign(-0) // -0
Math.sign(null) // 0 
Math.sign(undefined) //NaN
Math.sign(NaN) // NaN
總結

- 獲取指定范圍內的隨機整數 代碼片段-獲取指定范圍內的隨機整數

更多關于 ES6 Number 的擴展 還正在學習中 阮一峰ES6教程-數值的擴展

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95390.html

相關文章

  • JS中的類型轉換

    摘要:七種數據類型中共有七種數據類型除了,所有的數據類型都被稱為原始數據類型中每個變量都保存了一個值,每個值都對應著一種數據類型在使用過程中,值的數據類型會發生相應的變化,以促使代碼正常運行顯示轉換給函數傳遞任何參數,都會返回一個類型的值在轉換原 七種數據類型 JS 中共有七種數據類型 null undefined boolean number string symbol object ...

    DataPipeline 評論0 收藏0
  • js 中的 number 為何很怪異

    摘要:但這個數值并不安全從到中間的數字并不連續,而是離散的。對象中的常量表示與可表示的大于的最小的浮點數之間的差值。絕對值的最大安全值。尋找奇怪現象的原因為什么結果是與的逼近算法類似。 js 中的 number 為何很怪異 聲明:需要讀者對二進制有一定的了解 對于 JavaScript 開發者來說,或多或少都遇到過 js 在處理數字上的奇怪現象,比如: > 0.1 + 0.2 0.30000...

    MRZYD 評論0 收藏0
  • JavaScript類型檢查之Flow

    摘要:一是一種弱類型動態類型檢查的語言。動態類型與靜態類型的核心區別動態類型的類型檢查是是在代碼運行的時候進行的,靜態類型的類型檢查則是在編譯時進行。 一、js是一種弱類型、動態類型檢查的語言。 弱類型:在定義變量時,可以為變量定義復制任何數據,變量的數據類型不是固定死的,這樣的類型叫做弱類型。 var a = 10; a = abc; a = []; a = function() {}...

    zhonghanwen 評論0 收藏0
  • JS基礎知識學習(一)

    摘要:基礎知識前端開發常用的瀏覽器谷歌瀏覽器內核引擎火狐瀏覽器內核歐朋瀏覽器內核瀏覽器內核瀏覽器內核作為前端開發,我們會使用編寫代碼,編寫代碼的時候要遵循一些規范瀏覽器開發商開發的瀏覽器,目的就是為了按照的規范,識別出開發者編寫的代碼,并且在頁面 JS基礎知識 前端開發常用的瀏覽器 谷歌瀏覽器(chrome):Webkit內核(v8引擎) 火狐瀏覽器(firefox):Gecko內核 歐朋...

    xinhaip 評論0 收藏0
  • JS 中的類型判斷

    摘要:和這三種基本的數據類型,都有對應的引用包裝類型和。應用于引用類型的判斷,所以對于這三類基本類型沒有什么意義。 JS 中的類型判斷 js中的數據類型 基本數據類型 undefined、number、string、boolean 引用數據類型 null、Object、Number、String、Boolean、Function、Array、Date、RegExp、Error、Argumen...

    ChanceWong 評論0 收藏0

發表評論

0條評論

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