最新版本見 Github,點擊查看歷史版本git
XEUtils 提供一套實用的基礎函數、任意格式的日期轉換函數,瀏覽器相關操做函數等...github
API
-
全局參數數組
- setup ( options ) 設置默認全局參數
-
基礎函數瀏覽器
- isNaN (val) 判斷是否非數值
- isFinite (val) 判斷是否爲有限數值
- isUndefined (val) 判斷 Undefined
- isArray (val) 判斷是否數組
- isFloat (val) 判斷是否小數
- isInteger (val) 判斷是否整數
- isBoolean (val) 判斷是否 Boolean 對象
- isString (val) 判斷是否 String 對象
- isNumber (val) 判斷是否 Number 對象
- isRegExp (val) 判斷是否 RegExp 對象
- isObject (val) 判斷是否 Object 對象
- isPlainObject (val) 判斷是不是一個對象
- isDate (val) 判斷是否 Date 對象
- isError (val) 判斷是否 Error 對象
- isTypeError (val) 判斷是否 TypeError 對象
- isEmpty (val) 判斷是否爲空,包括空對象、空數值、空字符串
- isNull (val) 判斷是否爲 Null
- isSymbol (val) 判斷是否 Symbol 對象
- isArguments (val) 判斷是否 Arguments 對象
- isElement (val) 判斷是否 Element 對象
- isDocument (val) 判斷是否 Document 對象
- isWindow (val) 判斷是否 Window 對象
- isFormData (val) 判斷是否 FormData 對象
- isMap (val) 判斷是否 Map 對象
- isWeakMap (val) 判斷是否 WeakMap 對象
- isSet (val) 判斷是否 Set 對象
- isWeakSet (val) 判斷是否 WeakSet 對象
- isLeapYear (date) 判斷是否閏年
- isEqual (obj1, obj2) 深度比較兩個對象之間的值是否相等
- isDateSame (date1, date2, format) 判斷兩個日期是否相同
-
經常使用函數cookie
- toNumber ( num ) 轉數值
- toInteger ( num ) 轉整數
- toFixedNumber ( num, digits ) 和 Number.toFixed 相似,區別就是不會對小數進行四捨五入,結果返回數值
- toFixedString ( num, digits ) 和 Number.toFixed 相似,區別就是不會對小數進行四捨五入,結果返回字符串
- toArray ( array ) 將對象或者僞數組轉爲新數組
- toStringJSON (str) 字符串轉 JSON
- toJSONString (obj) JSON 轉字符串
- getType (obj) 獲取對象類型
- getSize ( obj ) 返回對象的長度
- uniqueId ( prefix ) 獲取一個全局惟一標識
- uniq ( array ) 數組去重
- union ( ...array ) 將多個數的值返回惟一的並集數組
- random ( min, max ) 獲取一個指定範圍內隨機數
- range ( start, stop, step ) 序號列表生成函數
- clear (obj[, defs, assigns]) 清空對象; defs若是不傳(清空全部屬性)、若是傳對象(清空並繼承)、若是傳值(給全部賦值)
- remove (obj, iteratee) 移除對象屬性
- assign (destination, ...sources) 淺拷貝一個或者多個對象到目標對象中,若是第一值是true,則使用深拷貝
- clone (obj, deep) 淺拷貝/深拷貝
- destructuring (obj, ...target) 將一個或者多個對象值解構到目標對象
- trim ( str ) 去除字符串左右兩邊的空格
- trimLeft ( str ) 去除字符串左邊的空格
- trimRight ( str ) 去除字符串右邊的空格
- escape ( str ) 轉義HTML字符串,替換&, <, >, ", ', `字符
- unescape ( str ) 反轉 escape
- camelCase ( str ) 將帶駝峯字符串轉成字符串
- kebabCase ( str ) 將字符串轉成駝峯字符串
- repeat ( str, count ) 將字符串重複 n 次
- padStart ( str, targetLength, padString ) 用指定字符從前面開始補全字符串
- padEnd ( str, targetLength [, padString] ) 用指定字符從後面開始補全字符串
- startsWith ( str, val [, startIndex] ) 判斷字符串是否在源字符串的頭部
- endsWith ( str, val [, startIndex] ) 判斷字符串是否在源字符串的尾部
- slice ( array, start, end ) 裁剪 Arguments 或數組 array,從 start 位置開始到 end 結束,但不包括 end 自己的位置
- indexOf (obj, val) 返回對象第一個索引值
- findIndexOf (obj, iteratee [, context]) 返回對象第一個索引值
- lastIndexOf (obj, val) 從最後開始的索引值,返回對象第一個索引值
- findLastIndexOf (obj, iteratee [, context]) 從最後開始的索引值,返回對象第一個索引值
- includes (obj, val) 判斷對象是否包含該值,成功返回 true 不然 false
- includeArrays (array1, array2) 判斷數組是否包含另外一數組
- each ( obj, iteratee [, context] ) 通用迭代器
- arrayEach ( obj, iteratee [, context] ) 數組迭代器
- objectEach ( obj, iteratee [, context] ) 對象迭代器
- lastEach ( obj, iteratee [, context] ) 通用迭代器,從最後開始迭代
- lastArrayEach ( obj, iteratee [, context] ) 數組迭代器,從最後開始迭代
- lastObjectEach ( obj, iteratee [, context] ) 對象迭代器,從最後開始迭代
- forOf ( obj, iteratee [, context] ) 通用迭代器,支持 return false 跳出循環 break
- lastForOf ( obj, iteratee [, context] ) 通用迭代器,從最後開始迭代,支持 return false 跳出循環 break
- keys (obj) 獲取對象全部屬性
- values (obj) 獲取對象全部值
- entries (obj) 獲取對象全部屬性、值
- first (obj) 獲取對象第一個值
- last (obj) 獲取對象最後一個值
- groupBy ( obj, iteratee [, context] ) 集合分組,默認使用鍵值分組,若是有 iteratee 則使用結果進行分組
- countBy ( obj, iteratee [, context] ) 集合分組統計,返回各組中對象的數量統計
- sortBy ( arr, iteratee [, context] ) 數組按屬性值升序
- shuffle ( array ) 將一個數組隨機打亂,返回一個新的數組
- sample ( array, number ) 從一個數組中隨機返回幾個元素
- some ( obj, iteratee [, context] ) 對象中的值中的每一項運行給定函數,若是函數對任一項返回 true,則返回 true,不然返回 false
- every ( obj, iteratee [, context] ) 對象中的值中的每一項運行給定函數,若是該函數對每一項都返回 true,則返回 true,不然返回 false
- filter ( obj, iteratee [, context] ) 根據回調過濾數據
- find ( obj, iteratee [, context] ) 查找匹配第一條數據
- findKey ( obj, iteratee [, context] ) 查找匹配第一條數據的鍵
- map ( obj, iteratee [, context] ) 指定方法後的返回值組成的新數組
- objectMap ( obj, iteratee [, context] ) 指定方法後的返回值組成的新對象
- pick (obj, array) 根據 keys 過濾指定的屬性值 或者 接收一個判斷函數,返回一個新的對象
- omit (obj, array) 根據 keys 排除指定的屬性值 或者 接收一個判斷函數,返回一個新的對象
- copyWithin ( array, target, start [, end] ) 淺複製數組的一部分到同一數組中的另外一個位置,數組大小不變
- sum ( obj, iteratee [, context] ) 求和函數,將數值相加
- mean ( obj, iteratee [, context] ) 求平均值函數
- reduce ( array, iteratee [, initialValue] ) 接收一個函數做爲累加器,數組中的每一個值(從左到右)開始合併,最終爲一個值
- chunk ( array, size ) 將一個數組分割成大小的組。若是數組不能被平均分配,那麼最後一塊將是剩下的元素
- min ( arrb[, iteratee] ) 獲取最小值
- max ( arr [, iteratee] ) 獲取最大值
- commafy ( num [, options] ) 數值千分位分隔符、小數點
-
日期函數dom
- now ( ) 返回當前時間戳
- timestamp ( date[, format] ) 將日期轉爲時間戳
- toStringDate ( str, format ) 任意格式字符串轉爲日期
- toDateString ( date [, format, options] ) 日期格式化爲任意格式字符串
- getWhatYear ( date, year [, month] ) 返回前幾年或後幾年的日期,能夠指定年初(first)、年底(last)、月份(0~11),默認當前
- getWhatMonth ( date, month [, day] ) 返回前幾月或後幾月的日期,能夠指定月初(first)、月末(last)、天數,默認當前
- getWhatWeek ( date, week [, day] ) 返回前幾周或後幾周的日期,能夠指定星期幾(0~6),默認當前
- getWhatDay ( date, day [, mode] ) 返回前幾天或後幾天的日期
- getDayOfYear ( date [, year] ) 返回某個年份的天數,能夠指定前幾個年或後幾個年,默認當前
- getYearDay ( date ) 返回某個年份的第幾天
- getYearWeek ( date ) 返回某個年份的第幾周
- getMonthWeek ( date ) 返回某個月份的第幾周
- getDayOfMonth ( date [, month] ) 返回某個月份的天數,能夠指定前幾個月或後幾個月,默認當前
- getDateDiff ( startDate, endDate [, rules] ) 返回兩個日期之間差距,若是結束日期小於開始日期 done 爲 fasle
-
高級函數函數
- toArrayTree ( array, options ) 一個高性能的樹結構轉換函數,將一個帶層級的數據列表轉成樹結構
- toTreeArray ( array, options ) 將一個樹結構轉成數組列表
- property ( path ) 返回一個獲取對象屬性的函數
- pluck ( array, key ) 獲取數組對象中某屬性值,返回一個數組
- invoke ( list, path, ...arguments ) 在list的每一個元素上執行方法,任何傳遞的額外參數都會在調用方法的時候傳遞給它
- zip ( ) 將每一個數組中相應位置的值合併在一塊兒
- unzip ( arrays ) 與 zip 相反
- delay (callback, wait[, ...arguments]) 該方法和 setTimeout 同樣的效果,區別就是支持額外參數
- bind (callback, context[, ...arguments]) 建立一個綁定上下文的函數
- once (callback, context[, ...arguments]) 建立一個只能調用一次的函數,只會返回第一次執行後的結果
- after (count, callback, context) 建立一個函數, 調用次數超過 count 次以後執行回調並將全部結果記住後返回
- before (count, callback, context) 建立一個函數, 調用次數不超過 count 次以前執行回調並將全部結果記住後返回
- throttle (callback, wait[, options]) 建立一個策略函數,當被重複調用函數的時候,至少每隔多少秒毫秒調用一次該函數
- debounce (callback, wait[, options]) 建立一個防反跳策略函數,在函數最後一次調用多少毫秒以後纔會再次執行,若是在期間內重複調用會從新計算延遲
-
瀏覽器函數性能
- serialize ( query ) 序列化查詢參數
- unserialize ( str ) 反轉序列化查詢參數
- browse ( ) 獲取瀏覽器信息
- locat ( ) 獲取地址欄信息
- parseUrl ( url ) 解析 URL 參數
- getBaseURL ( ) 獲取上下文路徑
- cookie ( name, value, options ) Cookie 操做函數