当我指定变量时:
$app.prototype = {
init: function() {
self = this;
}
}
它实际上是在创建对“this”的引用还是将整个实例复制到新变量中?
只是出于性能原因而感到疑惑
答案 0 :(得分:2)
它没有做任何事情。 this
的值取决于如何调用该函数。
更新
由于this
始终引用上下文对象,因此您不必介意将该引用分配给另一个变量。 ECMAscript中的任何内容(原始值除外)都通过引用进行处理。
答案 1 :(得分:1)
这是一个参考,除非激活严格模式且 this
是原始值。
此外,它不是局部变量,因为该变量不以var
为前缀。
答案 2 :(得分:1)
只要this
是一个对象,它只是一个重新 f 。在严格模式下,this
也可以是基元(数字,字符串,布尔值),然后它将创建副本。
单一作业永远不会成为表现问题。