JavaScript標(biāo)準(zhǔn)庫系列——Math對象和Date對象(二)

目錄

導(dǎo)語

1. Math對象

2. Date對象

3. Date對象方法的應(yīng)用——日歷插件;

4. 小結(jié)


導(dǎo)語

這是《JavaScript標(biāo)準(zhǔn)庫系列》的第二篇文章,主要討論一下Math對象和Date對象,Math對象在平時處理一些數(shù)學(xué)操作時能起到事半功倍的作用,目前小羊接觸到的Math對象的使用場景是動畫制作;
Date對象作為關(guān)于時間的接口,能夠?qū)⑵鋺?yīng)用于制作和時間相關(guān)的應(yīng)用,下文給出一個日歷小插件作為該對象的實(shí)際應(yīng)用;


1.Math對象

Math對象提供了數(shù)學(xué)當(dāng)中常見的屬性和方法,注意的是Math對象并不是構(gòu)造函數(shù);
Math對象的方法的其中一個應(yīng)用是在制作復(fù)雜的動畫特效時能派上大用場,因此對動畫制作感興趣的童鞋要掌握好;

1.1Math對象的屬性

Math對象的屬性定義常見的數(shù)學(xué)常量:

1.2 Math對象的方法
  • 最值方法

Math.min && Math.max:根據(jù)參數(shù)返回最值;

可利用該方法去獲取數(shù)組的最值;

  • 舍入方法

Math.floor:向下取整;
Math.ceil:向上取整;
Math.round:四舍五入取整;

  • 隨機(jī)數(shù)方法

Math.random:返回0~1(不包含1)的隨機(jī)數(shù);

可以通過以下方法獲取任意范圍的隨機(jī)數(shù):

//獲取0~9的數(shù)值
Math.floor(Math.random()*10)
//獲取1~10的數(shù)值
Math.floor(Math.random()*10+1)
//獲取任意范圍的數(shù)值
function randomNum(min,max){
    if(min-max>0){
        var mid = min;
        min = max;
        max = mid;
    }
    var range = max - min + 1
        return Math.floor(Math.random()*range+min);
};

小小變色特效

//html
<div id="colors" >Hello World
</div>
//js
   var $colors = $('#colors')
      setInterval(function(){
       var pipeRed = randomNum(0,255),
      pipeGreen = randomNum(0,255),
      pipeBlue = randomNum(0,255);
      color = "rgb("+pipeRed+","+pipeGreen+","+pipeBlue+")";
       $colors.css({
         "background":color,
       }) 
       console.log(color)
      },1000)

2. Date對象

Date對象使用自UTC1970年1月1日零時開始的經(jīng)過的毫秒數(shù)來保存時間,時間范圍為該時期前后1億天;

2.1 Date對象作為工具方法
  • Date對象自身的方法
    Date對象作為方法使用,帶不帶參數(shù)都返回當(dāng)前的時間的字符串

    注意:new Date()返回的是對象,雖然二者看上去很像;
  • Date對象的靜態(tài)方法

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

Date.UTC():返回設(shè)置的參數(shù)距離1970年1月1日 00:00:00 UTC的毫秒數(shù),參數(shù)格式為:year, month[, date[, hrs[, min[, sec[, ms]]]]]


[注]12個月份分別有0~11表示,上面的11代表12月;

Date.parse():解析日期字符串,返回當(dāng)前距離1970年1月1日 00:00:00 UTC的毫秒數(shù);


[注]可傳遞的日期字符串不僅限于上述,但是一般采用上面3種日期字符串表示方法;
Date.parse()和Date.UTC()作用類似;

2.2 Date對象的實(shí)例方法
  • Date作為構(gòu)造函數(shù)
    Date作為構(gòu)造函數(shù)時,可以生成一個時間對象的實(shí)例, 不傳參數(shù)將返回當(dāng)前的時間對象實(shí)例,傳遞的參數(shù)可以是多個代表日期的數(shù)值,也可以是日期字符串,還可以是代表時間的毫秒數(shù);

    使用代表日期的數(shù)值設(shè)置時間時要注意各個參數(shù)的取值范圍:
year: 4位年份;
month: 0-11,這個要注意;
date:1-31;
hour:0-23;
minute:0-59;
second:0-59
ms:0-999

to類方法

toString:返回當(dāng)前時區(qū)的時期字符串;
toUTCString:返回當(dāng)前0時區(qū)的時期字符串;
toDateString:返回日期字符串;
toTimeString:返回時間字符串;
toLocalTimeString:返回當(dāng)?shù)乇憩F(xiàn)形式的時間字符串


get類方法

getFullYear:獲取實(shí)例的四位年份;
getMonth:獲取月份(0表1月,11表12月);
getDate:獲取第幾天;
getDay:獲取星期(0為星期日,6為星期六);
getHours:返回小時;
getMinutes:返回分鐘;
getSeconds:返回秒;
getMilliseconds:返回毫秒;
getTime():返回距離1970年1月1日00:00:00的毫秒數(shù),相當(dāng)于valueOf();


set類方法

setFullYear:設(shè)置實(shí)例的四位年份;
setMonth:設(shè)置月份;
setDate:設(shè)置日子;
setHours:設(shè)置小時;
setMinutes:設(shè)置分鐘;
setSeconds:設(shè)置秒;
setMilliseconds:設(shè)置毫秒;
setTime:設(shè)置毫秒時間戳;


3.3. Date對象方法的應(yīng)用——日歷插件;

日期插件件詳見小羊的文章《[簡潔的jQuery日歷小插件]》;


4. 小結(jié)

通讀本文之后,我們可以基本清楚理解:

  • Math對象提供數(shù)學(xué)當(dāng)中常用的屬性和方法;
  • Math對象的屬性包括PI、E、LN2、LN10、LOG2E、LOG10E
  • MAth對象的方法包括最值方法、舍入方法、隨機(jī)數(shù)方法、基本數(shù)學(xué)函數(shù)方法和三角函數(shù)方法;
  • Date對象的使用可分為Date對象作為工具方法和Date對象的實(shí)例方法;
  • Date對象作為工具方法部分,Date()直接返回當(dāng)前時間的字符串,注意和new Date()的區(qū)別;Date.now()返回當(dāng)前距離起始日期的毫秒數(shù);Date.parse()可以解析日期為毫秒數(shù);
  • Date對象可作為構(gòu)造函數(shù)創(chuàng)建一個日期實(shí)例,可傳遞多種形式的日期參數(shù);但要注意不同時間參數(shù)的取值范圍的不同;
  • Date對象的實(shí)例方法可大致分為3大類,to類、get類和set類;其中除了getDay()這一方法在set類中沒有對應(yīng)方法外,其他get類都有對應(yīng)set類方法;

參考資料

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

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

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,557評論 6 13
  • 參考基礎(chǔ)教程的整理,方便記憶 一、Object對象 (O大寫) 所有其他對象都繼承自這個對象。Object本身也是...
    Viaphlyn閱讀 2,470評論 0 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,692評論 0 4
  • 目錄: 1.什么是標(biāo)準(zhǔn)庫 2.Object對象及其實(shí)例 3.Number對象及其實(shí)例 4.string對象及其對象...
    love2013閱讀 622評論 0 0
  • 翠綠托著晶瑩,也是美的無可挑剔 還未綻放的柳絮,經(jīng)過春雨的洗禮,越發(fā)的綠了 還有,菠菜花,油菜花,還有還有……看圖...
    若冰若晴閱讀 602評論 0 0

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