【问题标题】:jQuery UI Design Pattern QuestionjQuery UI 设计模式问题
【发布时间】:2011-01-19 20:56:28
【问题描述】:

我正在阅读 jQuery UI 源代码(特别是 ui-dialog),我看到这种模式重复了很多次:

    var self = this,
        options = self.options,
        uiDialog = self.uiDialog;

var self = this, something, something else这种模式背后的原因是什么

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-plugins


    【解决方案1】:

    它只是 缓存 变量 && obect 属性。这通常被认为是非常好的做法,因为对象查找是有代价的。

    window.href
    

    花费更多的时间
    var myhref = window.href;
    myhref;
    

    当然,您需要进行一次昂贵的调用,但是对缓存变量的所有进一步调用要快得多。

    使用此模式的另一个原因是缓存DOM node references,原因几乎相同。访问DOM 是您在 Javascript(在浏览器中)可以做的最昂贵的事情之一。因此,通过缓存引用,您只会提升您的代码。

    【讨论】:

      【解决方案2】:

      分配self 有助于解决范围问题——this 的含义可能会在整个脚本中发生变化,self 将始终保留对实例的引用。其他常见的形式有thatbase

      逗号只允许在变量定义前写一次var

      var self = this,
          options = self.options,
          uiDialog = self.uiDialog;
      

      相同
      var self = this;
      var options = self.options;
      var uiDialog = self.uiDialog;
      

      【讨论】:

      • "逗号只允许在变量定义前写一次 var。"啊,就是这样。
      猜你喜欢
      • 2011-04-03
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多