我需要通过从对象访问函数来获取函数的名称。
通常这样的事情有效:
s=''
s.splice.name
实际上它会返回slice
,这是正确的,但如果我require('child_process').exec
我得到''
有没有办法实现我需要的任务? 提前致谢
答案 0 :(得分:2)
并非每个功能都必须有名称。
Node甚至对于某些匿名的未命名函数设置name
属性非常聪明,但并不总是可行。
在Node repl:
中查看> x = function x() {};
[Function: x]
> x.name
'x'
> y = function () {};
[Function: y]
> y.name
'y'
> z = () => {};
[Function: z]
> z.name
'z'
> w = (() => () => {})();
[Function]
> w.name
''
最后一个函数没有任何名称。并不是我以错误的方式访问它,只是Node根本不知道这个名字所以我没办法得到它。