您好,登錄后才能下訂單哦!
本文實例講述了ES6中Math對象新增的方法。分享給大家供大家參考,具體如下:
Math.trunc()
Math.trunc方法用于去除一個數的小數部分,返回整數部分。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.trunc = Math.trunc || function(x) { return x < 0 ? Math.ceil(x) : Math.floor(x); };
Math.sign()
Math.sign方法用來判斷一個數到底是正數、負數、還是零。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
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方法用于計算一個數的立方根。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.cbrt = Math.cbrt || function(x) { var y = Math.pow(Math.abs(x), 1/3); return x < 0 ? -y : y; };
Math.clz32()
JavaScript的整數使用32位二進制形式表示,Math.clz32方法返回一個數的32位無符號整數形式有多少個前導0。
Math.imul()
Math.imul方法返回兩個數以32位帶符號整數形式相乘的結果,返回的也是一個32位的帶符號整數。
Math.fround()
Math.fround方法返回一個數的單精度浮點數形式。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.fround = Math.fround || function(x) { return new Float32Array([x])[0]; };
Math.hypot()
Math.hypot方法返回所有參數的平方和的平方根
對數方法
ES6新增了4個對數相關方法。
(1) Math.expm1()
Math.expm1(x)返回ex - 1,即Math.exp(x) - 1。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.expm1 = Math.expm1 || function(x) { return Math.exp(x) - 1; };
(2)Math.log1p()
Math.log1p(x)方法返回1 + x的自然對數,即Math.log(1 + x)。如果x小于-1,返回NaN。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.log1p = Math.log1p || function(x) { return Math.log(1 + x); };
(3)Math.log10()
Math.log10(x)返回以10為底的x的對數。如果x小于0,則返回NaN。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.log10 = Math.log10 || function(x) { return Math.log(x) / Math.LN10; };
(4)Math.log2()
Math.log2(x)返回以2為底的x的對數。如果x小于0,則返回NaN。
對于沒有部署這個方法的環境,可以用下面的代碼模擬。
Math.log2 = Math.log2 || function(x) { return Math.log(x) / Math.LN2; };
三角函數方法
ES6新增了6個三角函數方法。
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()用來判斷一個值的正負,但是如果參數是-0,它會返回-0。
ES2016 新增了一個指數運算符(**)
指數運算符可以與等號結合,形成一個新的賦值運算符(**=)。
let a = 2; a **= 2; // 等同于 a = a * a; let b = 3; b **= 3; // 等同于 b = b * b * b;
注:在vp8引擎中與Math.pow()結果有些不同。
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《ECMAScript6(ES6)入門教程》、《JavaScript字符與字符串操作技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。