当用“”声明时,如何获得当前运行的函数名称;foo=函数(){..}”;
How to get the current running function name when declared with "foo = function(){...}"?
在这种情况下,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函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- JavaScript 错误:未捕获类型错误:foo 不是一个函数
- JavaScript美学:;函数foo(){}"vs“;var foo=函数(){}"AMD功能
- 当用“”声明时,如何获得当前运行的函数名称;foo=函数(){..}”;
- 在节点 0.11 中使用 ES6 箭头函数,w/ foo.prototype
- $(window).resize 和 $(“#foo”).scroll 上的触发函数
- 如何在函数声明字符串中匹配“obj.foo”
- 角度定制模块-“;对象函数(){..}foo没有方法'酒吧'&”;
- 为什么我定义Foo时它不是一个函数
- 给定一个函数pipe(foo, bar, baz)(1, 2, 3),你将如何实现它等效于javascript中的baz
- 什么's;函数foo(回调)'和'foo(arg1,arg2,函数(错误,数据))'
- 在es2015中,' const func = foo =>Bar '使' func '成为一个命名函数,你如何绕过它
- javascript中的多个函数调用,如combine(foo)(bar)
- 在javascript中,如果foo是一个函数,那么foo()和foo之间的区别是什么?当它们作为参数传递给高阶函数时,
- 如果在函数中用作不能再更改的参数,foo会变成什么?
- 如何编写JS函数foo(baz),其中baz是:函数baz(para){alert(para.data);}