为什么'这个'对象被分配给js中的局部变量

时间:2014-09-11 09:07:34

标签: javascript extjs

我正在从extjs库中查看ext-all-debug.js文件,并且大多数类方法都有

var me = this;

它对性能有何帮助?

3 个答案:

答案 0 :(得分:3)

它在性能上没有帮助但是当在不同的范围内调用该函数时,你仍然有指向期望对象的指针

function someFunc() {
    var me = this;
    someElement.on("click", function() {
        console.log(me);
        console.log(this);
    });
};

当记录此信息时,控制台将显示该功能的调用者。在我被记录的情况下,它将显示被点击的元素

答案 1 :(得分:2)

它对性能没有帮助。它有助于混淆。 this会自动重新分配this。如果您想记住me是什么,请将其分配给其他内容,传统上为selfthatbind。或者您使用me。它还有助于压缩,因为this可以压缩为单字母变量,但只有{{1}}是神奇的,无法重命名。

答案 2 :(得分:0)

与性能无关。但是通过这种方式,它声明了一个var,可以被“Closure”中的其他成员访问。注意到"这个"其他成员的定义并不取决于定义背景,"这个"是谁调用该功能。相反,变体范围始终由定义上下文确定。