代码之家  ›  专栏  ›  技术社区  ›  viam0Zah

在JavaScript中,self或me更喜欢哪一个?

  •  19
  • viam0Zah  · 技术社区  · 16 年前

    this 在局部变量中用于不同的目的(设置适当的作用域,帮助代码混淆器等)。有些程序员更喜欢别名 到 that self 因为它指向的是物体本身。我甚至看到源代码 me 保留了引用,仍然有意义。当然还有其他的。

    我更喜欢哪一个?是否有使用的惯例,或者仅仅是口味的问题。

    3 回复  |  直到 16 年前
        1
  •  44
  •   MagicKriss bobince    7 年前

    一、 就个人而言,使用 that ,但其他清楚的都可以。

    我不会用的 self window -财产 已作为引用存在 窗口

    var se1f= this;         // misspelled (perniciously). or maybe you just forgot to write line
    onclick= function() {
        self.foo= 1;        // whoops, just wrote to `window`!
    };
    

    鉴于:

    var that= this;
    onclick= function() {
        that.foo= 1;        // error thrown
    };
    

    有点做作,但是JavaScript让错误溜走是如此的草率,你真的不想让它再这样了。

        2
  •  2
  •   Nick Craver    16 年前

    你的苹果篮里有个桔子, this 具有非常具体的上下文含义。选择真的是在 self 和 me 在这些选项中。在这些…你选择,这两种方式都不重要只是个人喜好。

    这 指的是你的上下文,所以它不是一个真正的“选项”,不引入很多混乱和容易出错。我懂了 自己 使用了比 (例如代码、框架、库等)。这只是偏好,但我同意 自己 我的 偏爱。

        3
  •  1
  •   Pointy    16 年前

    this 要跟踪的藏品。

    因此,例如在jQuery设置中,我可能会使用一些东西来记录临时 储藏室应容纳:

    $('form').each(function() {
      var $form = $(this);
      $form.find('input:checkbox').each(function() {
        var $checkbox = $(this);
        // ...
      });
    });