ES6中Math對象新增的方法實(shí)例詳解
本文實(shí)例講述了ES6中Math對象新增的方法。分享給大家供大家參考,具體如下:
Math.trunc()
Math.trunc方法用于去除一個數(shù)的小數(shù)部分,返回整數(shù)部分。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.trunc = Math.trunc || function(x) { return x < 0 ? Math.ceil(x) : Math.floor(x); };
Math.sign()
Math.sign方法用來判斷一個數(shù)到底是正數(shù)、負(fù)數(shù)、還是零。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.sign = Math.sign || function(x) { x = +x; // convert to a number if (x === 0 || isNaN(x)) { return x; } return x > 0 ? 1 : -1; };
Math.cbrt()
Math.cbrt方法用于計算一個數(shù)的立方根。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.cbrt = Math.cbrt || function(x) { var y = Math.pow(Math.abs(x), 1/3); return x < 0 ? -y : y; };
Math.clz32()
JavaScript的整數(shù)使用32位二進(jìn)制形式表示,Math.clz32方法返回一個數(shù)的32位無符號整數(shù)形式有多少個前導(dǎo)0。
Math.imul()
Math.imul方法返回兩個數(shù)以32位帶符號整數(shù)形式相乘的結(jié)果,返回的也是一個32位的帶符號整數(shù)。
Math.fround()
Math.fround方法返回一個數(shù)的單精度浮點(diǎn)數(shù)形式。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.fround = Math.fround || function(x) { return new Float32Array([x])[0]; };
Math.hypot()
Math.hypot方法返回所有參數(shù)的平方和的平方根
對數(shù)方法
ES6新增了4個對數(shù)相關(guān)方法。
(1) Math.expm1()
Math.expm1(x)返回ex - 1,即Math.exp(x) - 1。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.expm1 = Math.expm1 || function(x) { return Math.exp(x) - 1; };
(2)Math.log1p()
Math.log1p(x)方法返回1 + x的自然對數(shù),即Math.log(1 + x)。如果x小于-1,返回NaN。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.log1p = Math.log1p || function(x) { return Math.log(1 + x); };
(3)Math.log10()
Math.log10(x)返回以10為底的x的對數(shù)。如果x小于0,則返回NaN。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.log10 = Math.log10 || function(x) { return Math.log(x) / Math.LN10; };
(4)Math.log2()
Math.log2(x)返回以2為底的x的對數(shù)。如果x小于0,則返回NaN。
對于沒有部署這個方法的環(huán)境,可以用下面的代碼模擬。
Math.log2 = Math.log2 || function(x) { return Math.log(x) / Math.LN2; };
三角函數(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)
Math.signbit()
Math.sign()用來判斷一個值的正負(fù),但是如果參數(shù)是-0,它會返回-0。
ES2016 新增了一個指數(shù)運(yùn)算符(**)
指數(shù)運(yùn)算符可以與等號結(jié)合,形成一個新的賦值運(yùn)算符(**=)。
let a = 2; a **= 2; // 等同于 a = a * a; let b = 3; b **= 3; // 等同于 b = b * b * b;
注:在vp8引擎中與Math.pow()結(jié)果有些不同。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ECMAScript6(ES6)入門教程》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- ES6中新增的Object.assign()方法詳解
- 淺談ES6新增的數(shù)組方法和對象
- ES6中字符串string常用的新增方法小結(jié)
- ES6中數(shù)組array新增方法實(shí)例總結(jié)
- ES6 新增的創(chuàng)建數(shù)組的方法(小結(jié))
- 淺析Javascript ES6新增值比較函數(shù)Object.is
- ES6新增的math,Number方法
- ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解
- 詳解es6新增數(shù)組方法簡便了哪些操作
- ES6知識點(diǎn)整理之String字符串新增常用方法示例
- 簡述ES6新增關(guān)鍵字let與var的區(qū)別
- ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析
相關(guān)文章
uniapp中canvas繪制圖片內(nèi)容空白報錯的原因及解決
最近有個需求就是要用canvas畫個分享的海報,所以這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于uniapp中canvas繪制圖片內(nèi)容空白報錯的原因及解決方法,需要的朋友可以參考下2023-09-09基于Javascript實(shí)現(xiàn)的不重復(fù)ID的生成器
本文介紹了js生成一個不重復(fù)的ID的函數(shù)的進(jìn)化之路,具有一定的參考價值,需要的朋友一起來看下吧2016-12-12javascript 控制 html元素 顯示/隱藏實(shí)現(xiàn)代碼
javascript 控制 html元素 顯示/隱藏,下面是一些逐步的實(shí)現(xiàn)原理。2009-09-09javascript中的undefined 與 null 的區(qū)別 補(bǔ)充篇
在Javascript中有兩個值用來代表類似空值的概念,undefined和null,這兩個很容易被混淆,他們表示的是兩個不同的概念。2010-03-03