在全局闭包中存储对DOM对象的引用是非常低效的吗?

时间:2015-12-31 09:03:46

标签: javascript jquery

说我有一个特定的全球IIFE关闭

var foo = function(){
   var x;

   function doStuffToX(){
      ...
   }

   return { doStuff: doStuffToX }
}();

其中x将是对DOM元素的引用。

以下哪种方法会更有效,因为这些DOM引用中有30多个,而foo.doStuff()很少会被调用?请注意,这将是一个单页的应用程序,因此内存不会被清除。

  1. #x
  2. 中存储对foo.x的引用

    $(function(){
       foo.init();
       foo.doStuff();
    });
    
    var foo = function(){
       var x;
    
       function init(){
          x = $('#x');
       }
    
       function doStuffToX(){
          ...
          x.modifyDom();
          ...
       }
    
       return { init: init, doStuff: doStuffToX }
    }();
    
    1. #x关闭中查询doStuff()
    2. $(function(){
         foo.doStuff();
      });
      
      var foo = function(){
      
         function doStuffToX(){
            ...
            var x = $('#x');
            x.modifyDom();
            ...
         }
      
         return { doStuff: doStuffToX }
      }();
      

0 个答案:

没有答案