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)