Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分配对象引用和性能_Javascript_Jquery_Oop - Fatal编程技术网

Javascript 分配对象引用和性能

Javascript 分配对象引用和性能,javascript,jquery,oop,Javascript,Jquery,Oop,当我这样分配变量时: $app.prototype = { init: function() { self = this; } } 它实际上是在创建对“this”的引用,还是将整个实例复制到新变量中 出于性能原因,我想知道它是一个参考,除非严格模式被激活并且这是一个原始值 此外,它不是局部变量,因为变量的前缀不是var它是一个引用,除非激活了严格模式并且此是一个原始值 此外,它不是局部变量,因为变量没有前缀var它没有做任何事情。此的值取决于该函数的调用方式 更

当我这样分配变量时:

$app.prototype = {

   init: function() {

       self = this;
   }
}
它实际上是在创建对“this”的引用,还是将整个实例复制到新变量中

出于性能原因,我想知道它是一个参考,除非严格模式被激活并且
这是一个原始值

此外,它不是局部变量,因为变量的前缀不是
var

它是一个引用,除非激活了严格模式并且
是一个原始值


此外,它不是局部变量,因为变量没有前缀
var

它没有做任何事情。
的值取决于该函数的调用方式


更新:


由于
始终引用上下文对象,因此不必介意将该引用指定给另一个变量。ECMAscript中的任何内容(原语值除外)都使用引用进行寻址。

它没有做任何事情。
的值取决于该函数的调用方式


更新:

由于
始终引用上下文对象,因此不必介意将该引用指定给另一个变量。ECMAscript中的任何内容(原语值除外)都使用引用进行寻址。

它只是一个引用,只要它是一个对象。在严格模式下,
也可能是一个基元(数字、字符串、布尔值),然后它将创建一个副本

单个任务永远不会成为性能问题。

它只是一个参考,只要
是一个对象。在严格模式下,
也可能是一个基元(数字、字符串、布尔值),然后它将创建一个副本


单个任务永远不会成为性能问题。

@AndrewMcLagan它不会影响性能。它通常用于在块内的另一个函数中访问此
。它确实会影响性能!直接(在可能的情况下)使用它会更快,但不可测量:)@AndrewMcLagan它不会影响性能。它通常用于在块内的另一个函数中访问此。它确实会影响性能!直接(在可能的情况下)使用它会更快,但不可测量:-)我知道这。。。没有双关语。谢谢你的更新,你实际上已经为我解决了另一个问题。:-)这是我知道的。。。没有双关语。感谢您的更新,您实际上已经为我解决了另一个问题。:-)