與其它全局對(duì)象不同的是, Math 不是一個(gè)構(gòu)造器. Math 的所有屬性和方法都是靜態(tài)的. 你用到的常數(shù)pi可以用 Math.PI 表示,用 x 作參數(shù) Math.sin(x)調(diào)用sin函數(shù). JavaScript中的常數(shù), 是以全精度的實(shí)數(shù)定義的.
屬性:
Math.E
歐拉常數(shù),也是自然對(duì)數(shù)的底數(shù), 約等于 2.718.
Math.LN2
2的自然對(duì)數(shù), 約等于0.693.
Math.LN10
10的自然對(duì)數(shù), 約等于 2.303.
Math.LOG2E
以2為底E的對(duì)數(shù), 約等于 1.443.
Math.LOG10E
以10為底E的對(duì)數(shù), 約等于 0.434.
Math.PI
圓周率,一個(gè)圓的周長(zhǎng)和直徑之比,約等于 3.14159.
Math.SQRT1_2
1/2的平方根, 約等于 0.707.
Math.SQRT2
2的平方根,約等于 1.414.
方法:
需要注意的是:
三角函數(shù)(sin(), cos(), tan(),asin(), acos(), atan(), atan2())是以弧度返回值的。可以通過(guò)除法(Math.PI / 180)把弧度轉(zhuǎn)換為角度,也可以通過(guò)其他方法來(lái)轉(zhuǎn)換。
很多數(shù)學(xué)函數(shù)都有一個(gè)精度,并且精度在不同環(huán)境下也是不相同的。這就意味著不同的瀏覽器會(huì)給出不同的結(jié)果,甚至相同的 JS 引擎在不同的OS或者架構(gòu)下也會(huì)給出不同的結(jié)果。
Math.ceil(x)
返回x向上取整后的整數(shù)值.
Math.floor(x)
返回x向下取整后的整數(shù)值.。
Math.round(x)
返回四舍五入后的整數(shù).
Math.sqrt(x)
返回x的平方根.如果參數(shù) number 為負(fù)值,則 sqrt 返回 NaN。
Math.tan(x)
返回x的正切值,x表示一個(gè)角(單位:弧度)
Math.abs(x)
返回x的絕對(duì)值.傳入一個(gè)非數(shù)字形式的字符串或者 undefined/empty 變量,將返回 NaN。傳入 null 將返回 0。
Math.sin(x)
返回一個(gè) -1 到 1 之間的數(shù)值,表示給定角度(單位:弧度)的正弦值
Math.acos(x)
返回一個(gè)數(shù)的反余弦值(單位為弧度)。acos 方法以 -1 到 1 的一個(gè)數(shù)為參數(shù),返回一個(gè) 0 到 pi (弧度)的數(shù)值。如果傳入的參數(shù)值超出了限定的范圍,將返回 NaN
Math.asin(x)
返回一個(gè)數(shù)值的反正弦(單位為弧度)。asin 方法接受 -1 到 1 之間的數(shù)值作為參數(shù),返回一個(gè)介于-π/2到π/2弧度的數(shù)值。如果接受的參數(shù)值超出范圍,則返回 NaN。
Math.atan(x)
返回一個(gè)數(shù)值的反正切(以弧度為單位),以介于 -PI/2 與 PI/2 弧度之間的數(shù)值來(lái)返回 x 的反正切值.
Math.atan2(x, y)
返回 y/x 的反正切值. atan2 方法返回一個(gè) -pi 到 pi 之間的數(shù)值,表示點(diǎn) (x, y) 對(duì)應(yīng)的偏移角度。這是一個(gè)逆時(shí)針角度,以弧度為單位,正X軸和點(diǎn) (x, y) 與原點(diǎn)連線 之間。注意此函數(shù)接受的參數(shù):先傳遞 y 坐標(biāo),然后是 x 坐標(biāo)。
atan2 接受單獨(dú)的 x 和 y 參數(shù),而 atan 接受兩個(gè)參數(shù)的比值
Math.cos(x)
返回x的余弦值.返回一個(gè) -1 到 1 之間的數(shù)值,表示角度(單位:弧度)的余弦值。
Math.exp(x)
返回 Ex, 當(dāng)x為參數(shù), E 是歐拉常數(shù) (2.718...), 自然對(duì)數(shù)的底.
Math.log(x)
返回一個(gè)數(shù)的自然對(duì)數(shù),如果指定的 number 為負(fù)數(shù),則返回值為 NaN。
Math.max([x[,y[,…]]])
返回0個(gè)到多個(gè)數(shù)值中最大值。
如果沒有參數(shù),則結(jié)果為 - Infinity。
如果有任一參數(shù)不能被轉(zhuǎn)換為數(shù)值,則結(jié)果為 NaN。
Math.min([x[,y[,…]]])
返回0個(gè)到多個(gè)數(shù)值中最小值,Math.min 經(jīng)常用于裁剪一個(gè)值,以便使其總是小于或等于某個(gè)邊界值
如果沒有參數(shù),則結(jié)果為 Infinity。
如果有任一參數(shù)不能被轉(zhuǎn)換為數(shù)值,則結(jié)果為 NaN。
Math.pow(x,y)
返回x的y次冪.
Math.random()
返回0到1之間的偽隨機(jī)數(shù)(大于等于0,小于1),以當(dāng)前時(shí)間為隨機(jī)數(shù)種子
Math.floor(Math.random() * (max - min + 1) + min); // 返回一個(gè)介于min和max之間的整型隨機(jī)數(shù)
以下ES6新增:
log10(), log2(), log1p(), expm1(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), hypot(), trunc(), sign(), imul(), fround(), cbrt() clz32()
Math.acosh(x)
返回x的反雙曲余弦值.
Math.asinh(x)
返回x的反雙曲正弦值.
Math.atanh(x)
返回 x 的反雙曲正切值.
Math.cbrt(x)
返回x的立方根.
Math.clz32(x)
Returns the number of leading zeroes of a 32-bit integer.
Math.cosh(x)
返回x的雙曲余弦值.
Math.expm1(x)
返回 exp(x)-1 的值.
Math.fround(x)
Returns the nearest single precision float representation of a number.
Math.hypot([x[,y[,…]]])
Returns the square root of the sum of squares of its arguments.
Math.imul(x)
Returns the result of a 32-bit integer multiplication.
Math.log1p(x)
Returns the natural logarithm of 1 + x (loge, also ln) of a number.
Math.log10(x)
Returns the base 10 logarithm of x.
Math.log2(x)
Returns the base 2 logarithm of x.
Math.sign(x)
返回x的符號(hào)函數(shù), 判定x是正數(shù),負(fù)數(shù)還是0.
Math.sinh(x)
返回x的雙曲正弦值.
Math.tanh(x)
返回x的雙曲正切值.
Math.trunc(x)
返回x的整數(shù)部分,去除小數(shù).
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com