1. 簡單了解:
hook(鈎子)就是: 把将要執行的的函數或者一系列動作注冊到一個統一的接口下面, 當應用程式調用此接口(即hook)時,就等于調用了這一系列動作。
JS中的鈎子(hook)的例子
JS中的鈎子(hook)的例子1:
例如我們在向背景進行ajax請求的時候,背景經常會傳回我們一些常見的錯誤碼,如:001代表使用者不存在,002代表使用者密碼輸入錯誤。003代表使用者被鎖定。這個時候我們要将錯誤友好的提示給使用者。這個時候我們該怎樣實作呢?
一般的寫法可能是:
$.ajax(option,function(result){
var errCode = result.errCode ;//錯誤碼
if(errCode){
if(errCode =='001'){
alert("使用者不存在")
}else if(errCode =='002'){
alert("密碼輸入錯誤")
}else if(errCode =='003'){
alert("使用者被鎖定")
}
}else{
//登入成功
}
},function(err){
})
複制
這樣寫其實是比較low低,稍微有點經驗的可能會使用switch case來實作,但是這個兩種寫法都無法避免一個問題就是如果我的錯誤碼特别多,那得寫多少個if else和case 啊?但是如果使用hook寫法的話就會簡單好多,
首先我們先聲明一個錯誤碼鈎子清單
var codeList = {
"001":"使用者不存在",
"002":"密碼輸入錯誤",
"003":"使用者被鎖定"
}
$.ajax(option,function(result){
var errCode = result.errCode ;//錯誤碼
if(!errCode){
alert(codeList[errCode]);
}else{
//登入成功
}
},function(err){
})
複制