从函数内部访问函数名称
在 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中文网其他相关文章!