JS高級-String- RegExp- Math- Date:

1. String:正則表達式

 切割: 將一個字符串,按指定分隔符,切割爲多段子字符串數據庫

  簡單切割: 切割符是固定的數組

   var arr=str.split("切割符")dom

   強調: 切割後的結果中,不包含切割符函數

  複雜切割: 切割符是變化的對象

   var arr=str.split(/正則/)內存

 

2. RegExp:字符串

 什麼是: 封裝一條正則表達式,並提供使用正則進行驗證和查找的API數學

 什麼時候: 只要在程序中存儲一條正則,並使用正則進行驗證和查找it

 如何:

  建立: 2種:

   1. 若是正則表達式是固定不變的: 用//

    var reg=/正則/ig

   2. 若是正則表達式是動態變化的:

    var reg=new RegExp("正則表達式", "ig")

  API:

   驗證字符串的格式是否符合要求:

     var bool=reg.test(str)

      用reg檢查 str 是否符合格式要求

      返回bool:

      問題: 默認,只要str中部份內容知足reg要求,就返回true。

      解決: 凡是驗證,必須前加^,後加$

  

   即查找全部關鍵詞的內容,又查找關鍵詞的位置

    var arr=reg.exec(str)

     在str中查找下一個reg匹配的關鍵詞的位置和內容

    返回: arr的內容和match不加g時返回的arr結構同樣

       [0: 關鍵詞, index: 位置]

    強調: exec要想找全部,也必須加g

   

3. Math:

 什麼是: 保存全部數學計算的函數和常量的對象

 什麼時候: 只要執行算術計算時,都用Math

 如何:

  強調: Math不能new!全部的API,都用大寫Math直接調用

  API:

   1. 取整:

    上取整: Math.ceil(num)

    下取整: Math.floor(num) 不識別單位,沒法轉換

           parseInt(str) 可去掉數字後非數字的單位

    四捨五入: Math.round(num)

              缺: 只能取整

              優: 返回number類型,可直接參與計算

             num.toFixed(d)

              優: 可靈活指定小數位數

              缺: 返回字符串,沒法參數+運算

     

   2. 乘方和開平方

    乘方: Math.pow(底數, 冪)

    開平方: Math.sqrt(num)

   3. 最大值和最小值:

    Math.max(值1, 值2, ....)

    Math.min(值1, 值2, ....)

    問題: 不支持查找數組中的最大值和最小值 

    解決: spead:   ...數組

   4. 隨機數:

    Math.random()  生成0~1之間的隨機小數

    公式: min~max之間取隨機

     parseInt(Math.randon()*(max-min+1)+min)

   5. 計算角度:

    反三角函數: Math.atan(對/臨)

     問題: 只能計算正負90度內的角度變化,沒法區分象限

     解決: Math.atan2(對, 臨);

 

4. Date:

 什麼是: 封裝一個時間,並提供操做時間的API

 什麼時候: 只要在程序中保存時間或操做時間

 如何:

  建立: 4種:

   1. 建立日期對象,自動得到當前系統時間

    var now=new Date()

    強調: 只能拿到客戶端系統時間

   2. 建立日期對象,保存一個自定義時間

    var birth=new Date("1993/12/26")

   3. 將ms轉化爲日期對象:

    爲何: 數據庫中存儲時間,都是保存時間的毫秒數

           人看不懂

    什麼時候: 只要但願在內存中保存數據庫中的時間時,都將ms轉爲date對象

    如何: var date=new Date(ms);

   4. 複製一個日期對象:

    爲何: 日期的計算都是直接修改原日期對象,計算後,沒法保留原日期

    什麼時候: 只要但願同時保留計算先後的開始和結束時間時,都要先將開始時間複製一個副本,再用副本計算結束時間

    如何: var date2=new Date(date1)

相關文章
相關標籤/搜索