javaScript之Math經常使用方法

Math是 JavaScript 的原生對象,提供各類數學功能。Math對象是目前javaScript原生對象裏惟一一個不是構造函數,不用實例化,全部的屬性和方法都是直接在Math對象上調用。下面是本次分享的Math主要方法:java

  • 【一】Math.abs() 返回絕對值
  • 【二】Math.ceil(),Math.floor() 向上取整和向下取整
  • 【三】Math.max(),Math.min() 最大值和最小值
  • 【四】Math.round() 四捨五入
  • 【五】Math.random() 隨機數
  • 【六】Math.pow() 指數運算
  • 【七】Math.sqrt() 平方根
  • 【八】Math.log() 天然對數
  • 【九】Math.exp() e的指數
  • 【十】Math屬性
  • 【十一】Math三角函數

Math.abs() 絕對值數組

Math.abs()方法,接收一個參數,返回這個參數的絕對值,通俗的講就是把任何一個有效數字返回一個正數: `app

console.log(Math.abs(10))   // 輸出 10
console.log(Math.abs(-10))  // 輸出 10
複製代碼

`dom

Math.ceil(),Math.floor() 向上取整和向下取整函數

Math.ceil(),Math.floor()方法是獲取整數的方法,接收一個參數,把小數點後面的數向上或者向下取一個整數。Math.ceil()是向上,Math.floor()是向下: `this

console.log(Math.ceil(10.01))   // 輸出 11
console.log(Math.floor(10.01))  // 輸出 10
複製代碼

`spa

Math.max(),Math.min() 最大值和最小值code

Math.max(),Math.min()方法接收多個參數,並返回參數裏數值最大或者最小的那個數,Math.max()是獲取最大,Math.min()是獲取最小: `對象

console.log(Math.max(5, 1, 9, 3, 7))   // 輸出 9
console.log(Math.min(5, 1, 9, 3, 7))  // 輸出 1
複製代碼

` Math.max(),Math.min()也能夠用來獲取數組裏的最大數值和最小數值:ip

`

var arr = [5, 1, 9, 3, 7];
// 先看用循環實現方法,採用循環方式的核心思想就是假設法。
var max = 0, min = 1;
for (var num of arr) {
    if (max < num) {
		max = num
	}
	if (min > num) {
		min = num;
	}
}   // 輸出 9, 1;
// 下面是採用apply改變this指向的方式直接獲取最大值和最小值
console.log(Math.max.apply(null, arr))   // 輸出 9
console.log(Math.min.apply(null, arr))  // 輸出 1
複製代碼

`

Math.round() 四捨五入

Math.round()方法接收一個數字參數,對數字小數點後一位的數進行四捨五入處理 `

console.log(Math.round(3.87))   // 輸出 4
console.log(Math.round(3.39))  // 輸出 3
複製代碼

`

Math.random() 隨機數

Math.random()方法返回一個0到1之間的隨機數; `

console.log(Math.random())   // 輸出 0到1之間的隨機數
複製代碼

` Math.random()是一個應用很是普遍的方法,下面看一個限定範圍內的隨機數:

`

function getRandom (min, max) {
	return	Math.round(Math.random()*(max - min))
}
console.log(getRandom(0, 100)); // 輸出0到100的隨機整數
複製代碼

` 基於這個思想,能夠作不少事情,好比隨機取字符串裏的值,隨機取數組裏的某個當前項等等。

`

var ary = ['red', 'orange', 'yellow', 'blue', 'green']
function getRandom (min, max) {
		 return	ary[Math.round(Math.random()*(max - min))]
	}
console.log(getRandom(0, ary.length-1)); // 輸出數組裏隨機的一個當前項
複製代碼

`

Math.pow() 指數運算

Math.pow()方法返回以第一個參數爲底數、第二個參數爲冪的指數值。 `

console.log(Math.pow(2, 2)); // 輸出4
// 等同於 2 ** 2
console.log(Math.pow(2, 3)); // 輸出8
// 等同於 2 ** 3
複製代碼

`

Math.sqrt() 平方根

Math.sqrt()方法返回參數值的平方根。若是參數是一個負值,則返回NaN。 `

console.log(Math.sqrt(9)); // 輸出3
console.log(Math.sqrt(-9)); // 輸出NaN
複製代碼

`

Math.log()

Math.log方法返回以e爲底的天然對數值。 `

console.log(Math.log(10)); // 輸出 2.302585092994046
複製代碼

`

Math.exp()

Math.exp()方法返回常數e的參數次方。 `

console.log(Math.exp(1)); // 輸出 2.7182818284590455
console.log(Math.exp(2)); // 輸出 7.38905609893065
複製代碼

`

Math屬性

  • Math.E:常數e。
  • Math.LN2:2 的天然對數。
  • Math.LN10:10 的天然對數。
  • Math.LOG2E:以 2 爲底的e的對數。
  • Math.LOG10E:以 10 爲底的e的對數。
  • Math.PI:常數π。
  • Math.SQRT1_2:0.5 的平方根。
  • Math.SQRT2:2 的平方根

`

Math.E // 2.718281828459045
Math.LN2 // 0.6931471805599453
Math.LN10 // 2.302585092994046
Math.LOG2E // 1.4426950408889634
Math.LOG10E // 0.4342944819032518
Math.PI // 3.141592653589793
Math.SQRT1_2 // 0.7071067811865476
Math.SQRT2 // 1.4142135623730951
複製代碼

` 注意Math的這些屬性都是隻讀,不能夠修改的。

Math三角函數

  • Math.sin():返回參數的正弦(參數爲弧度值)
  • Math.cos():返回參數的餘弦(參數爲弧度值)
  • Math.tan():返回參數的正切(參數爲弧度值)
  • Math.asin():返回參數的反正弦(返回值爲弧度值)
  • Math.acos():返回參數的反餘弦(返回值爲弧度值)
  • Math.atan():返回參數的反正切(返回值爲弧度值)

`

Math.sin(0) // 0
Math.cos(0) // 1
Math.tan(0) // 0
Math.sin(Math.PI / 2) // 1
Math.asin(1) // 1.5707963267948966
Math.acos(1) // 0
Math.atan(1) // 0.7853981633974483
複製代碼

`

結語

Math對象自己是對js裏的數字作數學處理的,裏面有很多方法,相信確定有很多同窗看起來都矇蔽,由於你們確定和我同樣把學的數學知識都還給老師了,^-^|,並且對於他的實際應用,也會以爲陌生,既然陌生,那麼同窗看來這篇文章後,就和我一塊兒去複習初中的數學知識吧。提早預告下,下篇將分享一個實戰案例,雙色球。

相關文章
相關標籤/搜索