數(shù)值擴展

1.二進制和八進制表示法

ES6 分別用 0b(0B) 和 0o(0O)表示二進制和八進制

使用Number方法嫡锌,將二虑稼、八進制轉換為十進制

Number('0b111') // 7

Number('0o10') // 8

2. Number.isFinite 和 Number.isNaN

isFinite 用來檢查一個數(shù)值是否有限

isNaN 判斷一個值是否 NaN

區(qū)別:這兩種方法在 ES6 中只對數(shù)值有效,除了對 isNaN()對 NaN返回 true势木, 其他的均返回false蛛倦;

3.Number.parseInt 和 Number.parseFloat

// ES5的寫法

parseInt('12.34') // 12

parseFloat('123.45#') // 123.45

// ES6的寫法

Number.parseInt('12.34') //12

Number.parseFloat('123.45#') // 123.45

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

5.Number.EPSILON

Number.EPSILON實際上是 JavaScript 能夠表示的最小精度。誤差如果小于這個值啦桌,就可以認為已經沒有意義了溯壶,即不存在誤差了。

Number.EPSILON可以用來設置“能夠接受的誤差范圍

6.安全整數(shù) Number.isSafeInteger()

JavaScript 能夠準確表示的整數(shù)范圍在-2^53到2^53之間(不含兩個端點)甫男,超過這個范圍且改,無法精確表示這個值。

ES6 引入了Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER這兩個常量板驳,用來表示這個范圍的上下限又跛。

7. Math 對象的拓展

ES6 新增了17個靜態(tài)方法,只能在Math 對象上調用

7.1 Math.trunc() 去掉小數(shù)部分

對于非數(shù)值若治,Math.trunc內部使用Number方法將其先轉為數(shù)值慨蓝。

對于空值和無法截取整數(shù)的值感混,返回NaN。

7.2 Math.sign() 判斷正負數(shù)礼烈,對于一個非數(shù)值弧满,會將其先轉換為數(shù)值,返回五種值

參數(shù)為正數(shù)此熬,返回+1谱秽;

參數(shù)為負數(shù),返回-1摹迷;

參數(shù)為 0,返回0郊供;

參數(shù)為-0峡碉,返回-0;

其他值,返回NaN驮审。

對于無法轉換為數(shù)值的值鲫寄,就返回 NaN

7.3 Math.cbrt() 求立方根

7.5 Math.clz32() 32位二進制形式表示

Math.clz32(0) // 32 Math.clz32(1) // 31 Math.clz32(1000) // 22 Math.clz32(0b01000000000000000000000000000000) // 1 Math.clz32(0b00100000000000000000000000000000) // 2

clz32這個函數(shù)名就來自”count leading zero bits in 32-bit binary representation of a number“(計算一個數(shù)的 32 位二進制形式的前導 0 的個數(shù))的縮寫。

對于小數(shù)疯淫,只計算整數(shù)部分

7.6 Math.imul()?Math.imul方法返回兩個數(shù)以 32 位帶符號整數(shù)形式相乘的結果地来,返回的也是一個 32 位的帶符號整數(shù)。

7.7 Math.fround() 返回一個數(shù)的32位 單精度浮點數(shù)形式

7.8 Math.hypot() 返回所有參數(shù)的平方和的平方根熙掺;

7.9 對數(shù)相關

?????Math.expm1()??

Math.expm1(x)返回 ex?- 1未斑,即Math.exp(x) - 1。

? ? Math.log1p()

Math.log1p(x)方法返回1 + x的自然對數(shù)币绩,即Math.log(1 + x)蜡秽。如果x小于-1,返回NaN缆镣。

? ? Math.log10()

Math.log10(x)返回以 10 為底的x的對數(shù)芽突。如果x小于 0,則返回 NaN董瞻。

? ? Math.log2()

Math.log2(x) 返回以 2 為底的x的對數(shù)寞蚌,如果 x 小于0,則返回 NaN钠糊。

7.10 雙曲函數(shù)方法

ES6 新增了 6 個雙曲函數(shù)方法挟秤。

Math.sinh(x)?返回x的雙曲正弦(hyperbolic sine)

Math.cosh(x)?返回x的雙曲余弦(hyperbolic cosine)

Math.tanh(x)?返回x的雙曲正切(hyperbolic tangent)

Math.asinh(x)?返回x的反雙曲正弦(inverse hyperbolic sine)

Math.acosh(x)?返回x的反雙曲余弦(inverse hyperbolic cosine)

Math.atanh(x)?返回x的反雙曲正切(inverse hyperbolic tangent)

7。11 Math.signbit()

Math.sign()用來判斷一個值的正負眠蚂,但是如果參數(shù)是-0煞聪,它會返回-0。

如果參數(shù)是NaN逝慧,返回false

如果參數(shù)是-0昔脯,返回true

如果參數(shù)是負值啄糙,返回true

其他情況返回false

8.指數(shù)運算符(**)

2 ** 2 // 4

2 ** 3 // 8

let a = 1.5;

a **= 2; // 等同于 a = a * a;

let b = 4;

b **= 3; // 等同于 b = b * b * b;

9.Integer 數(shù)據(jù)類型

9.1?

JavaScript 所有數(shù)字都保存成 64 位浮點數(shù),這決定了整數(shù)的精確程度只能到 53 個二進制位云稚。大于這個范圍的整數(shù)隧饼,JavaScript 是無法精確表示的,這使得 JavaScript 不適合進行科學和金融方面的精確計算静陈。

現(xiàn)在有一個提案燕雁,引入了新的數(shù)據(jù)類型 Integer(整數(shù)),來解決這個問題鲸拥。整數(shù)類型的數(shù)據(jù)只用來表示整數(shù)拐格,沒有位數(shù)的限制,任何位數(shù)的整數(shù)都可以精確表示刑赶。

9.2?

為了與 Number 類型區(qū)別捏浊,Integer 類型的數(shù)據(jù)必須使用后綴 n 表示。

9.3?

JavaScript 原生提供Integer對象撞叨,用來生成 Integer 類型的數(shù)值金踪。轉換規(guī)則基本與Number()一致。

9.4

在數(shù)學運算方面牵敷,Integer 類型的+胡岔、-、*和**這四個二元運算符枷餐,與 Number 類型的行為一致靶瘸。除法運算/會舍去小數(shù)部分,返回一個整數(shù)尖淘。

9.5

Integer 類型不能與 Number 類型進行混合運算奕锌。

9.6

相等運算符(==)會改變數(shù)據(jù)類型,也是不允許混合使用村生。

精確相等運算符(===)不會改變數(shù)據(jù)類型惊暴,因此可以混合使用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末趁桃,一起剝皮案震驚了整個濱河市辽话,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卫病,老刑警劉巖油啤,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蟀苛,居然都是意外死亡益咬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門帜平,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幽告,“玉大人梅鹦,你說我怎么就攤上這事∪咚” “怎么了齐唆?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冻河。 經常有香客問我箍邮,道長,這世上最難降的妖魔是什么叨叙? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任锭弊,我火速辦了婚禮,結果婚禮上擂错,老公的妹妹穿的比我還像新娘廷蓉。我一直安慰自己,他們只是感情好马昙,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刹悴,像睡著了一般行楞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上土匀,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天子房,我揣著相機與錄音,去河邊找鬼就轧。 笑死证杭,一個胖子當著我的面吹牛,可吹牛的內容都是我干的妒御。 我是一名探鬼主播解愤,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乎莉!你這毒婦竟也來了送讲?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惋啃,失蹤者是張志新(化名)和其女友劉穎哼鬓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體边灭,經...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡异希,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绒瘦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片称簿。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡扣癣,死狀恐怖,靈堂內的尸體忽然破棺而出予跌,到底是詐尸還是另有隱情搏色,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布券册,位于F島的核電站频轿,受9級特大地震影響,放射性物質發(fā)生泄漏烁焙。R本人自食惡果不足惜航邢,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骄蝇。 院中可真熱鬧膳殷,春花似錦、人聲如沸九火。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岔激。三九已至勒极,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虑鼎,已是汗流浹背辱匿。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炫彩,地道東北人匾七。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像江兢,于是被迫代替她去往敵國和親昨忆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355