国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端常用函數積累

ACb0y / 1658人閱讀

摘要:參數對象數組,需要排序的目標要按排序的對象屬性名稱排序的方向,為從小到大是否使用模式,默認為,注意,使用該參數時前面的必須傳入。使用場景想要排列一個對象數組,條件是根據這些對象中的某個屬性。

cdd-lib

個人常用庫積累

說明

本庫是完全的es2015模塊語法,也使用了ts源碼。所以使用commonjs方式導致不可用。

路徑和引用說明

/index.js

根路徑的index.js文件為node_modules對外輸出的文件,是es6模塊方式。

/dist

dist文件夾里有集成的es6,cjs,umd,borowser方式的文件。

browser.js,umd供瀏覽器或者amd,cjs使用。

main.cjs.js, commmonjs模式。

module.es.js, es6模式。

安裝
npm i cdd-lib
Time

實例屬性與方法

constructor

interface $time {
  duration?: number
  everyDuration?: null | Function
  dateSeparator?: string
  timeSeparator?: string
  final?: null | Function
  finally?: null | Function
  times?: number
  date:any
}
declare function _Time(): $time;//構造函數
declare interface $time {//time實例
  isRuning: boolean//實例現在的運行狀態
  hour: number//小時
  minutes: number//分鐘
  seconds: number//秒
  year: number//年
  times:numer//執行timeout時倒數執行的次數
  month: number//月
  day: number//日期
  stamp:number//創建是的時間戳
  duration:number//間隔毫秒數默認1000
  dateSeparator: string//日期分隔符默認-
  timeSeparator: string//時間分隔符默認:
  date: string//日期
  time: string//時間
  ap: string//上午還是下午AM PM
  start(): any//開始循環執行
  stop(): any//結束循環執行
  everyDuration?(parms?: any): any//每次執行的函數
  timeout.timeout():any//倒數執行的函數
  final():cb倒數執行完時執行的回到函數
}
limitText

限制一段文字的長短并添加符號,類似String的padEnd,但是該方法是限制和替代而不是補全。

用法:

limitText(str:string,limit:10,rep:".")

eg:

let str = "你好啊,想要去那里,我想去一個好地方"
limitText(str)//=>你好啊,想要去...
htmlEscap

對輸入的文字進行轉義防止注入攻擊的函數

deepClone

深層復制一個對象
雖然現在已經有了Object.assign這樣的原生方法,但是有些地方還是要用到自己寫的。

用法:

deepClone(obj|array)//=>新的 obj|array

該方法不會拷貝原型的屬性。

addThrottle

對元素的某個對象的事件添加節流閥
使用方法:

addThrottle({el, event, handler, model?=0, threshold?=250})

參數:

el:element對象

event:事件名稱

handler:監聽器處理函數默認參數為e即事件對象

model: 節流閥的模式,0為間隔模式(每次停止時再執行),1為頻率模式(比如threshold為250,則每秒發生4次。)

threshold?:可選的臨界值,數字,默認是250(目前是指定事件發生的間隔)

如果移除這個監聽的話直接使用元素對象的removeEvnetListener(event:string)就行了。

checkType 方法有

isString

isNumber

isBoolean

isFunction

isNull

isUndefined

isObj

isArray

isDate

isRegExp

isSymbol

isPromise

isSet

isNaN

isFalse

isTrue

isIos

isPc

browserTypeIE11|Edge|FF|Opera|Safari|Chrome

CheckStr(str,type)常用驗證
type

phone 手機

tel 座機

card 身份證號

pwd 密碼/字母開頭長度6-18,只能包含字母數字下劃線

postal 郵政

email 郵箱

QQ qq號

URL 網址

money 小數點兩位金額

IP ip地址

date 日期

english 英文

chinese 中文

lower 小寫

upper 大寫

HTML html標簽

isCardID(sid) 嚴格身份證

parseTime

解析2018-12-12 12:12:12或者2018-12-12此類的文字為Date對象。

sortObj/sortObjArray

sortObj(舊)仍然可用,sorObjArray(新名字)。

sortObj/sortObjArray(
  arr:[obj], 
  property:string|[string|{[prope:string]:boolean}], 
  order:boolean = true, 
  isPromise:boolean=false
  ):[objSorted]

參數:

arr:[obj] 對象數組,需要排序的目標

property:string|[string|{[prope:string]:boolean}] 要按排序的對象屬性名稱

order:string|boolen 排序的方向,true為從小到大s

isPromise:boolean = false 是否使用Promise模式,默認為false,注意,使用該參數時前面的order必須傳入。

使用場景

1 想要排列一個對象數組,條件是根據這些對象中的某個屬性。

var seed = [
  {name:"aaac",age: 12 },
  {name:"ecc",age: 12 },
  {name:"bccd",age: 12 },
  {name:"wds",age: 12 },
  {name:"esds",age: 12 },
  {name:"esds",age: 9},
];
// 根據名字從小到da排序
sortObjArrary(seed,"name")
// 根據名字從大到小排序
sortObjArrary(seed,"name",false)

2 還是排序上面的數據,要求是,根據名字排序,如果名字相同則根據年齡排序

// 名字相同時根據年齡從小到大排序
sortObjArray(seed,["name","age"])
// 或者
sortObjArray(seed,["name",{age:true}])
// 名字相同時根據年齡從大到小排序
sortObjArray(seed,["name",{age:false}])

返回排序后的新的數組

對于對象數組根據其屬性進行排序的方法

download(url:string)

下載文件

createDom(template:string)

創建dom

createRandowWrods(length:number=15)

生成指定長度的文字,最低為5個

clipFileExts(filename:string,keepDot:boolean=false)

截取文件的后綴名
filename:文件名字
keepDot:是否保持點".",默認為false

wxHttp

小程序請求,結合promise使用axios風格

interface $request {
  (url: string | anyObj | $reqSet, config?: anyObj): Promise
  get?(url: string, config?: any): Promise
  post?(url: string, data?: anyObj, config?: any): Promise
  put?(url: string, data?: anyObj, config?: any): Promise
  head?(url: string, config?: any): Promise
  options?(url: string, config?: any): Promise
  delete?(url: string, config?: any): Promise
  interceptors?: {
    request: { use(a: $interRequest, b?: $interRequesError): any },
    response: { use(handle: $interResponse): any }
  }
  [name: string]: any
}
wxStore2

小程序中store2風格的本地存儲

interface wxStore2 {
  (key?: any, data?: any): Promise | void
  get(key: string): any
  set(key: string, data: any): any
  transact(key: string, data: Function): any
  clear(): void
  has(key: string): boolean
  remove(key: string): any
  getAll(): anyObj
  add(key: string, data: any): any
  keys(): any
  size(): number
  clearAll(): void
  isPromise: boolean
  nameSpace: string | undefined
  create(): $store2
}
camelToUnderline 駝峰轉下劃線
camelToUnderline(str:string,sperator?="_"):string
underlineToCamel 下劃線轉駝峰
underlineToCamel(str:string):string
樣式

新整理了樣式關系

base-config.styl

基礎的設置,如顏色尺寸什么的。

theme.styl

風格主題

lib.styl

主要是一些函數

mixins.styl

mixin的一些樣式

reset.styl

瀏覽器樣式重置

index.styl

包含上述所有

libmix.styl

包含上述除了reset.stylindex.styl之外的所有。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97721.html

相關文章

  • 常用前端知識積累

    摘要:閉包的理解使用閉包主要是為了設計私有的方法和變量。只在中存放不敏感數據,即使被盜也不會有重大損失。每個最多只能有條,每個長度不能超過,否則會被截掉。有些狀態不可能保存在客戶端。例如,為了防止重復提交表單,我們需要在服務器端保存一個計數器。 閉包的理解 使用閉包主要是為了設計私有的方法和變量。 優點是可以避免全局變量的污染, 缺點是閉包會常駐內存,會增大內存使用量,使用不當很容易造成內存...

    B0B0 評論0 收藏0
  • 常用前端知識積累

    摘要:閉包的理解使用閉包主要是為了設計私有的方法和變量。只在中存放不敏感數據,即使被盜也不會有重大損失。每個最多只能有條,每個長度不能超過,否則會被截掉。有些狀態不可能保存在客戶端。例如,為了防止重復提交表單,我們需要在服務器端保存一個計數器。 閉包的理解 使用閉包主要是為了設計私有的方法和變量。 優點是可以避免全局變量的污染, 缺點是閉包會常駐內存,會增大內存使用量,使用不當很容易造成內存...

    haobowd 評論0 收藏0
  • 常用前端知識積累

    摘要:閉包的理解使用閉包主要是為了設計私有的方法和變量。只在中存放不敏感數據,即使被盜也不會有重大損失。每個最多只能有條,每個長度不能超過,否則會被截掉。有些狀態不可能保存在客戶端。例如,為了防止重復提交表單,我們需要在服務器端保存一個計數器。 閉包的理解 使用閉包主要是為了設計私有的方法和變量。 優點是可以避免全局變量的污染, 缺點是閉包會常駐內存,會增大內存使用量,使用不當很容易造成內存...

    _Dreams 評論0 收藏0
  • 前端常用屬性/方法/命令積累

    摘要:定義表格中的表注內容腳注樣式節標簽描述屬性定義文檔的樣式信息。原始值是由從對象下來的所有對象繼承的。方法通常由在后臺自動進行調用,而不是顯式地處于代碼中。 HTML常用標簽 其實在w3school上都有詳細的總結和描述,寫在這里是為了理清自己的思路,整理比較常用的標簽。原地址:http://www.w3school.com.cn/ta... //tag 基礎...

    wupengyu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<