绑定它或使用变量更好吗?

use*_*919 9 javascript

这样做更好吗

asset.addEventListener("load", function () {
  this.emit({
    type: "load",
    asset: asset
  });
}.bind(this), false);
Run Code Online (Sandbox Code Playgroud)

要么

var scope = this;

asset.addEventListener("load", function () {
  scope.emit({
    type: "load",
    asset: asset
  });
}, false);
Run Code Online (Sandbox Code Playgroud)

绑定函数或仅将引用存储this在变量中是否更好?

Eri*_*oom 2

我觉得第二种选择更好,只是为了防止任何混乱。的使用this一直是许多 JavaScript 问题的问题,所以在我看来,当你可以避免它时你应该避免它。顺便说一句,Knockout 等库也这样做。

如果您想了解有关关键字的更多信息,这是对不同上下文中this各种不同值的很好解释: http://javascriptweblog.wordpress.com/2010/08/30/understanding-javascripts-this/this