取得 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 ,名稱就真的是空字串。
沒有留言:
張貼留言