0
var f1 = function(){}

var f2 = f1; 

它指向与 f1 相同的功能,还是存储来自 f1 的另一个副本?

4

2 回答 2

6

的值f2就像 一样f1,是对同一函数的引用。

您可以使用函数是对象的事实来证明它:

 var f1 = function(){}
 var f2 = f1; 
 f1.a = 3;
 console.log(f2.a); // logs 3

但是由于您无法更改函数核心,因此知道这一点几乎没有实际用途,除了复制函数引用时不会使用太多内存这一事实。

于 2013-08-05T14:39:24.053 回答
1

证明使用真的很容易===

var f1 = function(){}
var f2 = f1; 

console.log(f2===f1)

>>true

所以f2f1指向完全相同的功能。

于 2013-08-05T14:41:23.623 回答