從函數內部存取函數名稱
在 JavaScript 中,從函數內部存取函數名稱可能具有挑戰性。傳統方法涉及檢查原型或使用 Function.caller 或arguments.callee,但這些方法都有缺點,例如跨瀏覽器的不一致和潛在的安全問題。
現代且可靠的解決方案是利用 ES6 function.name 屬性。例如:
function myFunction() { console.log(myFunction.name); // Outputs "myFunction" } myFunction();
在 ES5 中,更穩健的方法是使用實際函數從其字串表示形式中提取函數名稱。這是高度最佳化的版本:
function functionName(fun) { return /\w+/.exec(fun.toString())[0]; }
例如:
var obj = function() {}; console.log(functionName(obj)); // Outputs "obj"
以上是以下是一些適合文章內容和問題風格的標題選項: **選項 1(直接且簡潔)**: * 如何在 JavaScript 中取得函數的名稱 **選項2(突出顯示ES6)**的詳細內容。更多資訊請關注PHP中文網其他相關文章!