2025年3月17日 星期一

取得 Function 的名稱

取得 Function 的名稱

前言

  最近看 [ developer.mozilla.org ] Function: name  時發現有些特性跟我想地的不一樣,在此把學習的過程做個紀錄。


內容

  Funciton:name 是個屬性,且是 Read only那如果 Function 被賦値到另一個變數後名稱會不一樣嗎?

範例如下

let fun1 = function(){};
let fun2 = fun1;
//
console.log( fun1.name );//fun1
console.log( fun2.name );//fun1
console.log( new Function().name );//anonymous
console.log( function(){}.name );//


答案是一樣的, Funciton:name 會在第一次被賦值後就不再改變,所以 fun2 還是顯示 fun1 ,JavaScript 的 Function 使用起來很自由,有時盛至不取名就使用,那這些不取名的 Funciton 他們的 Funciton:name 會是什麼?如果是 new 出來的,名稱會是 anonymous ,如果是一般的匿名 Function ,名稱就真的是空字串。

 

參考資料

[ developer.mozilla.org ] Function: name 

沒有留言:

張貼留言