Math對象和Date對象

Math對象

Math對象是JavaScript的內(nèi)置對象,提供一系列數(shù)學(xué)常數(shù)和數(shù)學(xué)方法。Math對象只提供了靜態(tài)的屬性和方法,使用時直接使用即可。
屬性

Math對象提供以下一些只讀的數(shù)學(xué)常數(shù)。

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

方法

round

round方法用于四舍五入

Math.round(0.1) // 0
Math.round(0.5) // 1
Math.round(-1.1) // -1
Math.round(-1.5) // -1

它對于負值的運算結(jié)果與正值略有不同,主要體現(xiàn)在對.5的處理

abs,max,min

abs方法返回參數(shù)值的絕對值
max方法返回最大的參數(shù),min方法返回最小的參數(shù)

Math.abs(1) // 1
Math.abs(-1) // 1
Math.max(2, -1, 5) // 5
Math.min(2, -1, 5) // -1
max方法返回最大的參數(shù),min方法返回最小的參數(shù)

兩個方法用來獲取給定的一組數(shù)值中的最大值或最小值,但是卻不接受數(shù)組作為參數(shù)
可以通過一種方法來調(diào)用Math.max和Math.min

var a = [1,5,9,-9]
Math.min.apply(null,a)//-9;

floor,ceil

floor方法返回小于參數(shù)值的最大整數(shù)
ceil方法返回大于參數(shù)值的最小整數(shù)

Math.floor(3.2) // 3
Math.floor(-3.2) // -4

Math.ceil(3.2) // 4
Math.ceil(-3.2) // -3

random

該方法返回0到1之間的一個偽隨機數(shù),可能等于0,但是一定小于1

Math.random()
// 返回給定范圍內(nèi)的隨機數(shù)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

// 返回給定范圍內(nèi)的隨機整數(shù)
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

我們可以通過靈活使用這個方法來生成任何我們想要得到的隨機數(shù)

Math.random() //產(chǎn)生0至1之間的隨機數(shù)
Math.random()*10 //產(chǎn)生至10之間的隨機數(shù)
Math.floor(Math.random()*100)//產(chǎn)生0到100之間的隨機數(shù),取整
Math.floor(Math.random()*255)//產(chǎn)生0到255之間的隨機數(shù),取整
10 + Math.floor(Math.random()*10)//產(chǎn)生10到20之間的隨機整數(shù)

小擴展

創(chuàng)建一個函數(shù),使之能生成一個指定長度的隨機字符串,字符串內(nèi)容可以由大小寫英文字母,數(shù)字,下劃線組成

function randomStr(len){
var str = ''
var dict = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'
for (var i = 0;i < len;i++){
var index = Math.floor(Math.random()*dict.length)
str += dict[index]
}
return str
}
var str = randomStr(len)//len為生成字符串的長度
console.log(str)

創(chuàng)建一個函數(shù),使之生成一個隨機IP地址

function randomIP(){
var str = []
for (var i = 0;i < 4;i++){
var index = Math.floor(Math.random()*255)
str[i] = index
}
return str
}
var str = randomIP()
var IP = str.join('.')
console.log(IP)

Data對象

Date對象是JavaScript提供的日期和時間的操作接口
Date對象有幾個靜態(tài)方法

Date.now()

now方法返回當(dāng)前距離1970年1月1日00:00:00的毫秒數(shù)

Date.parse()

parse方法用來解析日期字符串,返回距離1970年1月1日 00:00:00的毫秒數(shù)
日期字符串的格式應(yīng)該完全或者部分符合YYYY-MM-DDTHH:mm:ss.sssZ格式,Z表示時區(qū),是可選的
如果解析失敗,返回NaN

Date.parse("January 26, 2011 13:51:50")//1296021110000
Date.parse("Mon, 25 Dec 1995 13:30:00 GMT")//819898200000
Date.parse("Mon, 25 Dec 1995 13:30:00 +0430")//819882000000
Date.parse("2011-10-10")//1318204800000
Date.parse("2011-10-10T14:48:00")//1318229280000

Date.UTC()

默認情況下,Date對象返回的都是當(dāng)前時區(qū)的時間
Date.UTC方法可以返回UTC時間。該方法接受年、月、日等變量作為參數(shù),返回當(dāng)前距離1970年1月1日 00:00:00 UTC的毫秒數(shù)

Date()

Date函數(shù)可以直接調(diào)用,返回一個當(dāng)前日期和時間的字符串,這時候是否有參數(shù)結(jié)果一樣

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 128,176評論 1 9
  • 版本:ios 1.2.1 亮點: 1.app角標(biāo)可以實時更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,472評論 1 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,857評論 28 54
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,775評論 2 9

友情鏈接更多精彩內(nèi)容