談?wù)凧avaScript類型系統(tǒng)之Math
開(kāi)門必讀
math和其他對(duì)象不同,Math對(duì)象是一個(gè)靜態(tài)對(duì)象,而不是構(gòu)造函數(shù)。實(shí)際上,Math只是一個(gè)由Javascript設(shè)置的對(duì)象命名空間,用于存儲(chǔ)數(shù)學(xué)函數(shù)
屬性
Math.E 自然對(duì)數(shù)的底數(shù),即常量e的值(約等于2.718)
Math.PI 派的值(約等于3.14159)
console.log(Math.E);//2.718281828459045
console.log(Math.PI);//3.141592653589793
Math.LN2 2的自然對(duì)數(shù)(約等于0.693)
Math.LN10 10的自然對(duì)數(shù)(約等于2.302)
Math.LOG2E 以2為底e的對(duì)數(shù)(約等于1.414)
Math.LOG10E 以10為底e的對(duì)數(shù)(約等于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的平方根的倒數(shù)(約等于0.707)
console.log(Math.SQRT2);//1.4142135623730951
console.log(Math.SQRT1_2);//0.7071067811865476
方法
這些方法都涉及到Number()隱式類型轉(zhuǎn)換;若超出方法范圍,將返回NaN
Math.min() 返回一組數(shù)字中的最小值
Math.max() 返回一組數(shù)字中的最大值
console.log(Math.min(1,2,3));//1
console.log(Math.max(1,2,3));//3
Math.ceil(num) 向上舍入為整數(shù)
Math.floor(num) 向下舍入為整數(shù)
Math.round(num) 四舍五入為整數(shù)
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的絕對(duì)值
Math.random() 返回大于等于0小于1的一個(gè)隨機(jī)數(shù)
console.log(Math.abs(-10));//10
console.log(Math.random());//0.741887615993619
Math.exp(num) 返回Math.E的num次冪
Math.log(num) 返回num的自然對(duì)數(shù)
Math.sqrt(num) 返回num的平方根(x必須是大于等于0的數(shù))
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之間的數(shù))
Math.acos(x) 返回x的反余弦值(x必須是-1到1之間的數(shù))
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]找到數(shù)組中的最大或最小值
var values = [1,2,3,4,5,6,7,8]; var max = Math.max.apply(Math,values);//8
[tips2]從某個(gè)整數(shù)范圍內(nèi)隨機(jī)選擇一個(gè)值
value = Math.floor(Math.random()*可能值的總數(shù) + 第一個(gè)可能的值)
[tips3]通過(guò)最小值和最大值隨機(jī)選擇一個(gè)值
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 對(duì)象方法
方法 | 描述 |
---|---|
abs(x) | 返回?cái)?shù)的絕對(duì)值。 |
acos(x) | 返回?cái)?shù)的反余弦值。 |
asin(x) | 返回?cái)?shù)的反正弦值。 |
atan(x) | 以介于 -PI/2 與 PI/2 弧度之間的數(shù)值來(lái)返回 x 的反正切值。 |
atan2(y,x) | 返回從 x 軸到點(diǎn) (x,y) 的角度(介于 -PI/2 與 PI/2 弧度之間)。 |
ceil(x) | 對(duì)數(shù)進(jìn)行上舍入。 |
cos(x) | 返回?cái)?shù)的余弦。 |
exp(x) | 返回 e 的指數(shù)。 |
floor(x) | 對(duì)數(shù)進(jìn)行下舍入。 |
log(x) | 返回?cái)?shù)的自然對(duì)數(shù)(底為e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次冪。 |
random() | 返回 0 ~ 1 之間的隨機(jī)數(shù)。 |
round(x) | 把數(shù)四舍五入為最接近的整數(shù)。 |
sin(x) | 返回?cái)?shù)的正弦。 |
sqrt(x) | 返回?cái)?shù)的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回該對(duì)象的源代碼。 |
valueOf() | 返回 Math 對(duì)象的原始值。 |
- Javascript Math對(duì)象
- javascript Math.random()隨機(jī)數(shù)函數(shù)
- Javascript Math ceil()、floor()、round()三個(gè)函數(shù)的區(qū)別
- javascript對(duì)象之內(nèi)置對(duì)象Math使用方法
- js Math 對(duì)象的方法
- js中Math之random,round,ceil,floor的用法總結(jié)
- Javascript四舍五入Math.round()與Math.pow()使用介紹
- 使用js Math.random()函數(shù)生成n到m間的隨機(jī)數(shù)字
- JavaScript Math.ceil 方法(對(duì)數(shù)值向上取整)
相關(guān)文章
JS對(duì)select控件option選項(xiàng)的增刪改查示例代碼
Javascript操作select是表單中比較常見(jiàn)的,大家可以在網(wǎng)上搜索到很多的相關(guān)資料,接下來(lái)為大家詳細(xì)介紹下,JS動(dòng)態(tài)操作select中的各種方法,感興趣的朋友可以參考下2013-10-10uniapp中uni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了uniapp中uni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11javascript下過(guò)濾數(shù)組重復(fù)值的代碼
javascript下過(guò)濾數(shù)組重復(fù)值的代碼...2007-09-09javascript跟隨滾動(dòng)條滾動(dòng)的層(浮動(dòng)AD效果)
javascript跟隨滾動(dòng)條滾動(dòng)的層(浮動(dòng)AD效果)...2007-08-08ECharts調(diào)用接口獲取后端數(shù)據(jù)的四種方法總結(jié)
echarts是我們經(jīng)常用到的數(shù)據(jù)可視化圖形,但是后端反饋給我們的數(shù)據(jù)經(jīng)常是數(shù)組包對(duì)象的集合類型,下面這篇文章主要給大家介紹了關(guān)于ECharts調(diào)用接口獲取后端數(shù)據(jù)的四種方法,需要的朋友可以參考下2022-11-11JavaScript 對(duì)引擎、運(yùn)行時(shí)、調(diào)用堆棧的概述理解
這篇文章旨在深入挖掘JavaScript,以及向大家解釋JavaScript是如何工作的。非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10JS實(shí)現(xiàn)簡(jiǎn)單的九宮格抽獎(jiǎng)
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單的九宮格抽獎(jiǎng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06微信小程序?qū)崿F(xiàn)文字從右向左無(wú)限滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)文字從右向左無(wú)限滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12