首頁 > web前端 > js教程 > 主體

談JavaScript類型系統之Math_javascript技巧

WBOY
發布: 2016-05-16 15:21:21
原創
1091 人瀏覽過

開門必讀

  math和其他物件不同,Math物件是一個靜態對象,而不是建構子。實際上,Math只是一個由Javascript設定的物件命名空間,用於儲存數學函數

屬性

Math.E 自然對數的底數,即常數e的值(約等於2.718)
Math.PI 派的值(約等於3.14159)
console.log(Math.E);//2.718281828459045
console.log(Math.PI);//3.141592653589793
Math.LN2 2的自然對數(約等於0.693)
Math.LN10 10的自然對數(約等於2.302)
Math.LOG2E 以2為底e的對數(約等於1.414)
Math.LOG10E 以10為底e的對數(約等於0.434)
console.log(Math.LN2);//0.6931471805599453
console.log(Math.LN10);//2.302585092994046
console.log(Math.LOG2E);//1.4426950408889634
console.log(Math.LOG10E);//0.4342944819032518
Math.SQRT2 2的平方根(約等於1.414)
Math.SQRT1_2 1/2的平方根,即2的平方根的倒數(約等於0.707)
console.log(Math.SQRT2);//1.4142135623730951
console.log(Math.SQRT1_2);//0.7071067811865476

方法

  這些方法都涉及到Number()隱式類型轉換;若超出方法範圍,將返回NaN

Math.min() 傳回一組數字中的最小值
Math.max() 傳回一組數字中的最大值
console.log(Math.min(1,2,3));//1
console.log(Math.max(1,2,3));//3
Math.ceil(num) 向上捨入為整數
Math.floor(num) 向下捨入為整數
Math.round(num) 四捨五入為整數
console.log(Math.ceil(12.6));//13
console.log(Math.floor(12.6));//12
console.log(Math.round(12.6));//13
Math.abs(num) 傳回num的絕對值
Math.random() 傳回大於等於0小於1的一個隨機數
console.log(Math.abs(-10));//10
console.log(Math.random());//0.741887615993619
Math.exp(num) 傳回Math.E的num次方
Math.log(num) 傳回num的自然對數
Math.sqrt(num) 傳回num的平方根(x必須是大於等於0的數)
Math.pow(num,power) 傳回num的power次方
console.log(Math.exp(0));//1
console.log(Math.log(10));//2.302585092994046
console.log(Math.sqrt(100));//10
console.log(Math.pow(10,2));//100
Math.sin(x) 傳回x的正弦值
Math.cos(x) 傳回x的餘弦值
Math.tan(x) 傳回x的正切值
Math.asin(x) 傳回x的反正弦值(x必須是-1到1之間的數)
Math.acos(x) 傳回x的反餘弦值(x必須是-1到1之間的數)
Math.atan(x) 傳回x的反正切值
Math.atan2(y,x) 傳回y/x的反正切值
console.log(Math.sin(30*Math.PI/180));//0.49999999999999994
console.log(Math.cos(60*Math.PI/180));//0.5000000000000001
console.log(Math.tan(45*Math.PI/180));//0.99999999999999999
console.log(Math.asin(1)*180/Math.PI);//90
console.log(Math.acos(1)*180/Math.PI);//0
console.log(Math.atan(1)*180/Math.PI);//45
console.log(Math.atan2(1,1)*180/Math.PI);//45

tips

[tips1]找出數組中的最大值或最小值

var values = [1,2,3,4,5,6,7,8];
var max = Math.max.apply(Math,values);//8 
登入後複製

[tips2]從某個整數範圍內隨機選取一個值

value = Math.floor(Math.random()*可能值的总数 + 第一个可能的值)
登入後複製

[tips3]透過最小值和最大值隨機選擇一個值

function selectFrom(lowerValue,upperValue){
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random()*choices + lowerValue);
}
var num = selectFrom(2,10);
console.log(num); 
登入後複製

Math 物件方法

方法 描述
abs(x) 傳回數的絕對值。
acos(x) 傳回數的反餘弦值。
asin(x) 傳回數的反正弦值。
atan(x) 以介於 -PI/2 與 PI/2 弧度之間的數值來傳回 x 的反正切值。
atan2(y,x) 傳回從 x 軸到點 (x,y) 的角度(介於 -PI/2 與 PI/2 弧度之間)。
ceil(x) 対数を切り上げます。
cos(x) 数値のコサインを返します。
exp(x) e の指数を返します。
フロア(x) 対数を切り捨てます。
log(x) 数値の自然対数 (底 e) を返します。
max(x,y) x と y の間の最大値を返します。
分(x,y) x と y の間の最小値を返します。
pow(x,y) x の y 乗を返します。
random() 傳回 0 ~ 1 之​​間的隨機數。
round(x) 把數四捨五入為最接近的整數。
sin(x) 傳回數的正弦。
sqrt(x) 傳回數的平方根。
tan(x) Returns the tangent of the angle.
toSource() Returns the source code of this object.
valueOf() Returns the original value of the Math object.

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!