xe-utils 函數庫,javascript 工具類

最新版本見 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 操做函數
相關文章
相關標籤/搜索