gpt4 book ai didi

Javascript - 显示调用函数名称的通用函数

转载 作者:行者123 更新时间:2023-11-30 15:48:06 25 4
gpt4 key购买 nike

我正在尝试创建一个通用函数(例如“displayFuncName()”),我可以在不同的函数定义(例如“foo()”)中调用它,因此它将控制台记录函数名称(' foo' 在这个例子中)。像这样的东西:

var displayFuncName = function(){
console.log("caller function name: " + some parameter);
}

var foo = function(){
displayFuncName(); // should console log "caller function name: foo
}

我知道过去有人以不同的方式询问它,但似乎有一些不推荐使用的选项,其中一些只显示“displayFuncName”函数名称,这当然不是我想要的。

最佳答案

由于 arguments.callee 在严格模式下抛出错误并且不再支持 arguments.caller ,也许这样的东西对你来说是更好的选择:

Function.prototype.logName = function() {
var fn = this;
return function() {
console.log(fn.name);
return fn.apply(this, arguments);
}
}

var f = function named() {}.logName();
f(); // logs `named`

通过这种方式,您可以为每个要在调用时记录名称的函数调用 logName

关于Javascript - 显示调用函数名称的通用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com