[1]屬性 [2]方法 [3]tips
目錄
[1]屬性 [2]方法 [3]tips前面的話
和其他對象不同,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.9999999999999999 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);