2017-01-03 4 views
0

Мне нужно получить имя функций, обратившись к нему из его объекта.имя узла функции js не всегда определено

Обычно что-то вроде это работает:

s='' s.splice.name

на самом деле она возвращает slice, что это правильно, но если я require('child_process').exec я получаю ''

Есть ли способ для достижения этой задачи мне нужно ? Заранее спасибо

ответ

2

Не каждая функция должна иметь имя.

Узел на самом деле довольно умный относительно установки свойства name даже для некоторых анонимных неназванных функций, но это не всегда возможно.

Смотрите это в узле РЕПЛ:

> 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 вообще не знает имя, поэтому мне не удалось его получить.

+0

поэтому, как вы думаете, есть ли способ получить отпечаток пальца от функций и отличить их? моя цель должна заключаться в том, чтобы – user2543740

Смежные вопросы