gpt4 book ai didi

javascript - 使用 "foo = function(){...}"声明时如何获取当前运行的函数名称?

转载 作者:行者123 更新时间:2023-11-28 07:38:19 24 4
gpt4 key购买 nike

在这种情况下,arguments.callee.name 什么也得不到。

foo = function(){
console.log(arguments.callee.name);
}

有什么解决办法吗?

最佳答案

你没有给它命名,因此它没有名字。

foo = function(){
return (arguments.callee.name);
};

bar = function foobar() {
return (arguments.callee.name);
};

function foobar () {
return (arguments.callee.name);
}

console.log(foo()); //""
console.log(bar()); //"foobar"
console.log(foobar()) //"foobar"

foo()foobar() 之间的区别在于 foo() 是函数表达式,而 foobar( ) 是一个声明的函数。 foo()bar() 之间的区别在于,一个有名称,另一个没有。两者都是函数表达式。声明的函数需要名称,而函数表达式则不需要。有关更多信息,请参阅此规范问题:

var functionName = function() {} vs function functionName() {}

关于javascript - 使用 "foo = function(){...}"声明时如何获取当前运行的函数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28335109/

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