var f1 = function(){}
var f2 = f1;
f1 と同じ関数を指していましたか、それとも f1 からの別のコピーを格納していますか?
の値f2
は、のようf1
に、同じ関数への参照です。
関数がオブジェクトであるという事実を使用して、それを証明できます。
var f1 = function(){}
var f2 = f1;
f1.a = 3;
console.log(f2.a); // logs 3
しかし、関数コアを変更することはできないため、関数参照を複製する場合に多くのメモリを使用しないという事実を除けば、これを知っていても実用的な用途はほとんどありません。
を使って証明するのは本当に簡単です===
var f1 = function(){}
var f2 = f1;
console.log(f2===f1)
>>true
したがってf2
、 とf1
はまったく同じ関数を指しています。