[英]Variable store function as primitive type or reference type?
var f1 = function(){}
var f2 = f1;
它指向的功能與f1相同,還是存儲了f1的另一個副本?
像f1
一樣, f2
的值是對同一函數的引用。
您可以使用函數是對象這一事實來證明這一點:
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
指向完全相同的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.