2016-12-14 53 views

Odpowiedz

12

Odpowiedź, na razie, to nr.

Obiekt [[FunctionLocation]] widać w Inspector jest dodawany w V8Debugger::internalProperties() w kod C++ debugger'a, który wykorzystuje inną funkcję C++ V8Debugger::functionLocation() w celu zebrania informacji na temat funkcji. functionLocation() używa następnie wielu API C++ specyficznych dla V8, takich jak v8::Function::GetScriptLineNumber() and GetScriptColumnNumber(), aby znaleźć dokładne informacje.

Wszystkie opisane powyżej interfejsy API są dostępne wyłącznie dla kodu C++, a nie dla kodu JavaScript. Jeśli próbujesz wykonać to zadanie na platformie takiej jak Node.js, powinieneś być w stanie napisać moduł natywny. Jeśli nie, to masz pecha.

0

Funkcja console.log może wyświetlać nazwę funkcji w przeglądarce Chrome pod numerem limited language support.

Znalazłem nazwę funkcji przydatną w debugowaniu wywołań zwrotnych i podczas korzystania z observer pattern. Zauważ, że to wymaga funkcji nazewnictwa (anonimowe nazwy funkcji są oczywiście puste).

function myFn() {} 

if (typeof myFn === 'function') { 
    console.log('Name of function', myFn.name) 
} 

Wyjścia Name of function myFn