用timer來保護任務不被多次執行;
// this._timer = setImmediate(() => {
// this._timer = null;
// }事實上,不僅僅是數組,任何具有 Iterator 接口、且每個成員都是一個雙元素的數組的數據結構(詳見《Iterator》一章)都可以當作Map構造函數的參數。
數組、set、map都可以作爲Map的構造參數,來生成map
let tmpMap = new Map(this._dirtyViewArray);
tmpMap.clear();
tmpMap = null;緩存在getInstance中用途很廣;
- 根據參數,判斷所要獲取的instance是否是對象current 變量索引的,如果是,直接返回當前current索引。如果沒有current類似的變量則忽略此步驟
- 判斷是否有map,如果沒有,建立instance的map
- 從map中獲取參數描述的實例;
- 判斷實例是否存在,不存在則創建並添加到map中
- 返回實例
涉及到touch等事件處理的,就需要一堆狀態量的記錄和整理。同步和更新。windowManager當中記錄了很多的 eventChain,dispatch隊列。
工程中js代碼小技巧
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.