手動封裝on,emit,off

2022-07-21 19:21:18 字數 717 閱讀 6207

on 繫結

emit 觸發

off 解綁

//存放事件

eventlist =

1對多on(eventname,callback);

handle:-------n多個

1、判斷事件名稱是否存在

2、如果存在的情況下將cb存放在eventname這個陣列當中

3、如果不存在建立key值為eventname val值為陣列

1對多emit(eventname,params);

當呼叫emit的時候獲取到eventname這的值,對值判斷,如果值不存在直接return

如果存在遍歷這個值全域性進行呼叫,然後將params傳入這些函式

off(eventname,[callback])

當呼叫off的時候獲取到eventname這的值,對值判斷,如果值不存在直接return

如果存在判斷callback是否存在 如果存在刪除指定的函式

如果不存在將當前陣列清空

*/const eventlist =

eventlist[eventname].push(callback);

}const emit = function(eventname,params))

}const off = function(eventname,callback)else

}將其暴露出去方便引用

export default

封裝on emit off方法 observer

let eventlist 繫結事件 on eventname,cb 第一步判斷當前事件是否存在 如果不存在 初始化一下 key 然後再將cb push到資料中去即可 const on eventname,cb eventlist eventname push cb 觸發事件 emit eventn...

手動封裝AJAX

呼叫順序 呼叫f3函式,輸出2次33333,然後呼叫f2函式,輸出2次22222,呼叫f1函式,輸出5次1111111 f1的 執行完成後會回到被呼叫的位置接著執行 此時輸出3次222222,然後回到f2被呼叫的位置,輸出3次333 呼叫順序 呼叫getresult時傳入3個引數,第3個是乙個匿名函...

手動封裝XMLHttpRequest

自己動手封裝乙個xmlhttprequest,相容低版本瀏覽器,自動檢測post與get 型別請求,自動引數拼接,引數型別辨別 charset utf 8 自定義xmlhttprequest實現前後端通訊title head type button onclick getdata 獲取資料butto...