1. 二進(jìn)制和八進(jìn)制表示法
ES6提供了二進(jìn)制和八進(jìn)制的新寫(xiě)法骨宠,分別用前綴0b(或0B)和0o(或0o)表示蘸炸。
- 將0b和0o前綴的字符串?dāng)?shù)值轉(zhuǎn)為十進(jìn)制龙助,要使用Number方法捉邢。
Number('0b111'); //7
2. Number.isFinite(),Number.isNaN()
- Number.isFinite()用來(lái)檢查一個(gè)數(shù)值是否為有限的(finite)
- Number.isNaN()用來(lái)檢查一個(gè)值是否為NaN
注意:兩個(gè)方法與傳統(tǒng)的isFinite()和isNaN()方法區(qū)別在于琼稻,傳統(tǒng)方法先調(diào)用Number()將非數(shù)值的值轉(zhuǎn)為數(shù)值吮螺,再判斷。這兩個(gè)方法只對(duì)數(shù)值有效帕翻,非數(shù)值一律返回false鸠补。
3. Number.parseInt(),Number.parseFloat()
與傳統(tǒng)方法行為完全保持不變。目的在于嘀掸,逐步減少全局性方法紫岩,使得語(yǔ)言逐步模塊化。
4. Number.isInteger()
判斷一個(gè)值是否為整數(shù)睬塌。
注意:JavaScript內(nèi)部泉蝌,整數(shù)和浮點(diǎn)數(shù)儲(chǔ)存方法相同歇万,所以3和3.0被視為同一個(gè)值。
5. Number.EPSILON
ES6中新增的一個(gè)極小的常量勋陪。
Number.EPSILON = 2.220446049250313e-16;
- 目的在于贪磺,設(shè)置誤差范圍。當(dāng)誤差小于該值诅愚,則認(rèn)為得到正確結(jié)果寒锚。
6. 安全整數(shù)和Number.isSafeInteger()
JavaScript能夠準(zhǔn)確表示的整數(shù)范圍在-2^53
到2^53之間(不含兩個(gè)端點(diǎn)),超過(guò)這個(gè)范圍违孝,無(wú)法精確表示這個(gè)值刹前。
- ES6引入了Number.MAX_SAFE_INTEGER
和Number.MIN_SAFE_INTEGER這兩個(gè)常量,用來(lái)表示這個(gè)范圍的上下限 - Number.isSafeInteger()則是用來(lái)判斷一個(gè)整數(shù)是否落在這個(gè)范圍之內(nèi)雌桑。
7. Math對(duì)象的擴(kuò)展
Math.trunc()
該方法用于去除一個(gè)數(shù)的小數(shù)部分喇喉,返回整數(shù)部分。
對(duì)于非數(shù)值校坑,先轉(zhuǎn)成數(shù)值拣技。
對(duì)于空置和無(wú)法截取整數(shù)的值,返回NaN.
Math.sign()
-
該方法用于判斷一個(gè)數(shù)是正數(shù)撒踪、負(fù)數(shù)還是0.
- 正數(shù)过咬,返回+1
- 負(fù)數(shù),返回-1
- 0制妄,返回0
- -0掸绞,返回-0
- 其他值,返回NaN
Math.cbrt()
該方法用于計(jì)算一個(gè)數(shù)的立方根耕捞。
對(duì)于非數(shù)值衔掸,先轉(zhuǎn)為數(shù)值再計(jì)算。
Math.clz32()
該方法返回一個(gè)數(shù)的32位無(wú)符號(hào)整數(shù)形式有多少個(gè)前導(dǎo)0.
對(duì)于小數(shù)俺抽,只考慮整數(shù)部分敞映。
對(duì)于空置或者其他類(lèi)型的值,先轉(zhuǎn)為數(shù)值磷斧,再計(jì)算振愿。
Math.fround()
返回一個(gè)數(shù)的單精度浮點(diǎn)數(shù)形式
Math.hypot()
該方法返回所有參數(shù)的平方和的平方根
參數(shù)不是數(shù)值,先轉(zhuǎn)為數(shù)值弛饭,有一個(gè)無(wú)法轉(zhuǎn)為數(shù)值冕末,就返回NaN
對(duì)數(shù)方法
-
Math.expm1()
- 返回e的x次方 - 1,即Math.exp(x) - 1
-
Math.log1p()
- 返回1+x的自然對(duì)數(shù)侣颂。即Math.log(1 + x)档桃。如果x小于-1,返回NaN
-
Math.log10()
- 返回以10為底的x的對(duì)數(shù)憔晒,如果x<10,則返回NaN.
-
Math.log2()
- 返回以2為底的x的對(duì)數(shù)藻肄。x<0,則返回NaN.
三角函數(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)
8. 指數(shù)運(yùn)算符
- 指數(shù)運(yùn)算符**
2 ** 2 //4
2 ** 3 //8
- 與等號(hào)結(jié)合蔑舞,**=
let a = 2
a **= 2 //a = 4