17.09 凍結對象、獲取頂層對象

九月份收集(待更新)

1.對象完全凍結函數(包括屬性)
var constantize = (obj) => {
    Object.freeze(obj);
    Object.keys(obj).forEach( (key, i) => {
        if(typeof obj[key] === 'object'){
            constantize( obj[key] );
        }
    });
};


2.獲取頂層對象函數
// 方法一
var getGlobal = function () {
  if (typeof self !== 'undefined') { return self; }
  if (typeof window !== 'undefined') { return window; }
  if (typeof global !== 'undefined') { return global; }
  throw new Error('unable to locate global object');
};

// 方法二
(typeof window !== 'undefined'
   ? window
   : (typeof process === 'object' &&
      typeof require === 'function' &&
      typeof global === 'object')
     ? global
     : this);
勉強在任何環境(瀏覽器、Node、Web Worker)都能獲取到頂層對象的方法,用方法一唄,添加上去就好了
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容