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

資訊專(zhuān)欄INFORMATION COLUMN

Js中的Number

LiuZh / 1474人閱讀

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

關(guān)于Number的常用方法和注意點(diǎn)

NaN

NaN 是代表非數(shù)字的特殊屬性

NaN 注意點(diǎn)

NaN不是一個(gè)數(shù) 但是屬于number類(lèi)型

typeof NaN //"number"

NaNNaN不相等

NaN == NaN //false
何時(shí)會(huì)出現(xiàn)NaN

數(shù)字和 NaN 進(jìn)行運(yùn)算

1 [+ - * /] NaN = NaN

無(wú)效數(shù)學(xué)運(yùn)算中

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

數(shù)字 + undefined

1 + undefined = NaN

- 在進(jìn)行運(yùn)算的時(shí)候會(huì) - * / 都會(huì)默認(rèn)的調(diào)用 Number 方法 遇到無(wú)法轉(zhuǎn)換的都是 NaN
- 因?yàn)?+ 在JS中不僅僅是數(shù)學(xué)運(yùn)算, 遇到字符串的時(shí)候?qū)儆谧址唇?其他時(shí)候也會(huì)默認(rèn)調(diào)用 Number 進(jìn)行轉(zhuǎn)換
- 排除數(shù)字和 NaN 進(jìn)行運(yùn)算之外 也只有 數(shù)字 + undefined = NaN 具體的看Number()的轉(zhuǎn)換規(guī)則

Number()

Number() 方法把值轉(zhuǎn)換為數(shù)字

對(duì)字符串進(jìn)行轉(zhuǎn)換

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

對(duì)字符串進(jìn)行轉(zhuǎn)換的時(shí)候只有 都是 數(shù)字才會(huì)轉(zhuǎn)換成數(shù)字 反之

對(duì)布爾值進(jìn)行轉(zhuǎn)換 truefalse

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

對(duì)布爾值進(jìn)行轉(zhuǎn)換的時(shí)候 true = 1 false = 0

nullundefined

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

nullundefined 的區(qū)別請(qǐng)看 null和undefined的區(qū)別 阮老師的這篇文章詳細(xì)的介紹了

""[]

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

[] 轉(zhuǎn)換為數(shù)字 首先調(diào)用數(shù)組的 toString 方法把 [] -> ""

isNaN(), Number.isNaN()

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

isNaN() 檢測(cè)一個(gè)值是否為NaN 會(huì)先調(diào)用Number() 將非數(shù)值的值轉(zhuǎn)為數(shù)值,再進(jìn)行判斷

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

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

isNaN(undefined) //true
Number.isNaN(undefined) //false 不會(huì)調(diào)用 Number
isNaN("NaN") // true
Number.isNaN("NaN") // false
Number.isInteger()

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

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

如果參數(shù)不是數(shù)值 都返回 false

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

去掉非數(shù)字部分 返回?cái)?shù)字部分
parseInt() 遇到的第一個(gè)非數(shù)字停止

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

parseFloat() 相比 parseInt() 可以多識(shí)別一個(gè) .

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

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

toFixed()

toFixed()保留小數(shù)點(diǎn)后幾位

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

toFixed()使用四舍五入法

Math 對(duì)象

Math是一個(gè)對(duì)象,里面提供了很多操作數(shù)字的相關(guān)方法

Math.abs()

Math.abs() 獲取絕對(duì)值

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()取一組數(shù)的最大值

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

Math.min 取一組數(shù)的最小值

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

Math.random 獲取[0-1]之間的隨機(jī)小數(shù)

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

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

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

通過(guò)上面列子 很明顯的是Math.trunc() 方法 遇到非數(shù)字會(huì)默認(rèn)調(diào)用Number()進(jìn)行轉(zhuǎn)換

Math.sign()

Math.sign() 判斷一個(gè)數(shù)是正數(shù)、負(fù)數(shù)、還是零。會(huì)默認(rèn)調(diào)用Number()進(jìn)行轉(zhuǎn)換
- 參數(shù)為正數(shù) 返回 1
- 參數(shù)為負(fù)數(shù) 返回 -1
- 參數(shù)為 0 返回 0
- 參數(shù)為-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
總結(jié)

- 獲取指定范圍內(nèi)的隨機(jī)整數(shù) 代碼片段-獲取指定范圍內(nèi)的隨機(jī)整數(shù)

更多關(guān)于 ES6 Number 的擴(kuò)展 還正在學(xué)習(xí)中 阮一峰ES6教程-數(shù)值的擴(kuò)展

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

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

相關(guān)文章

  • JS中的類(lèi)型轉(zhuǎn)換

    摘要:七種數(shù)據(jù)類(lèi)型中共有七種數(shù)據(jù)類(lèi)型除了,所有的數(shù)據(jù)類(lèi)型都被稱(chēng)為原始數(shù)據(jù)類(lèi)型中每個(gè)變量都保存了一個(gè)值,每個(gè)值都對(duì)應(yīng)著一種數(shù)據(jù)類(lèi)型在使用過(guò)程中,值的數(shù)據(jù)類(lèi)型會(huì)發(fā)生相應(yīng)的變化,以促使代碼正常運(yùn)行顯示轉(zhuǎn)換給函數(shù)傳遞任何參數(shù),都會(huì)返回一個(gè)類(lèi)型的值在轉(zhuǎn)換原 七種數(shù)據(jù)類(lèi)型 JS 中共有七種數(shù)據(jù)類(lèi)型 null undefined boolean number string symbol object ...

    DataPipeline 評(píng)論0 收藏0
  • js 中的 number 為何很怪異

    摘要:但這個(gè)數(shù)值并不安全從到中間的數(shù)字并不連續(xù),而是離散的。對(duì)象中的常量表示與可表示的大于的最小的浮點(diǎn)數(shù)之間的差值。絕對(duì)值的最大安全值。尋找奇怪現(xiàn)象的原因?yàn)槭裁唇Y(jié)果是與的逼近算法類(lèi)似。 js 中的 number 為何很怪異 聲明:需要讀者對(duì)二進(jìn)制有一定的了解 對(duì)于 JavaScript 開(kāi)發(fā)者來(lái)說(shuō),或多或少都遇到過(guò) js 在處理數(shù)字上的奇怪現(xiàn)象,比如: > 0.1 + 0.2 0.30000...

    MRZYD 評(píng)論0 收藏0
  • JavaScript類(lèi)型檢查之Flow

    摘要:一是一種弱類(lèi)型動(dòng)態(tài)類(lèi)型檢查的語(yǔ)言。動(dòng)態(tài)類(lèi)型與靜態(tài)類(lèi)型的核心區(qū)別動(dòng)態(tài)類(lèi)型的類(lèi)型檢查是是在代碼運(yùn)行的時(shí)候進(jìn)行的,靜態(tài)類(lèi)型的類(lèi)型檢查則是在編譯時(shí)進(jìn)行。 一、js是一種弱類(lèi)型、動(dòng)態(tài)類(lèi)型檢查的語(yǔ)言。 弱類(lèi)型:在定義變量時(shí),可以為變量定義復(fù)制任何數(shù)據(jù),變量的數(shù)據(jù)類(lèi)型不是固定死的,這樣的類(lèi)型叫做弱類(lèi)型。 var a = 10; a = abc; a = []; a = function() {}...

    zhonghanwen 評(píng)論0 收藏0
  • JS基礎(chǔ)知識(shí)學(xué)習(xí)(一)

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

    xinhaip 評(píng)論0 收藏0
  • JS 中的類(lèi)型判斷

    摘要:和這三種基本的數(shù)據(jù)類(lèi)型,都有對(duì)應(yīng)的引用包裝類(lèi)型和。應(yīng)用于引用類(lèi)型的判斷,所以對(duì)于這三類(lèi)基本類(lèi)型沒(méi)有什么意義。 JS 中的類(lèi)型判斷 js中的數(shù)據(jù)類(lèi)型 基本數(shù)據(jù)類(lèi)型 undefined、number、string、boolean 引用數(shù)據(jù)類(lèi)型 null、Object、Number、String、Boolean、Function、Array、Date、RegExp、Error、Argumen...

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

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

0條評(píng)論

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