变量存储函数作为基本类型还是引用类型?

时间:2013-08-05 14:38:13

标签: javascript

var f1 = function(){}

var f2 = f1; 

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

2 个答案:

答案 0 :(得分:6)

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

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

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

但是因为你不能改变一个功能核心,除了你复制一个函数引用你没有使用太多内存这一事实外,几乎没有实际用途。

答案 1 :(得分:1)

使用===

进行证明非常容易
var f1 = function(){}
var f2 = f1; 

console.log(f2===f1)

>>true

因此f2f1指向完全相同的功能。