工程中js代碼小技巧

  1. 用timer來保護任務不被多次執行;
    // this._timer = setImmediate(() => {
    // this._timer = null;
    // }

  2. 事實上,不僅僅是數組,任何具有 Iterator 接口、且每個成員都是一個雙元素的數組的數據結構(詳見《Iterator》一章)都可以當作Map構造函數的參數。
    數組、set、map都可以作爲Map的構造參數,來生成map
    let tmpMap = new Map(this._dirtyViewArray);
    tmpMap.clear();
    tmpMap = null;

  3. 緩存在getInstance中用途很廣;

    1. 根據參數,判斷所要獲取的instance是否是對象current 變量索引的,如果是,直接返回當前current索引。如果沒有current類似的變量則忽略此步驟
    2. 判斷是否有map,如果沒有,建立instance的map
    3. 從map中獲取參數描述的實例;
    4. 判斷實例是否存在,不存在則創建並添加到map中
    5. 返回實例
  4. 涉及到touch等事件處理的,就需要一堆狀態量的記錄和整理。同步和更新。windowManager當中記錄了很多的 eventChain,dispatch隊列。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章