2016-12-14 16 views

Trả lời

12

Câu trả lời, hiện tại là không.

Thuộc tính [[FunctionLocation]] bạn thấy trong Thanh tra được thêm vào V8Debugger::internalProperties() trong mã C++ của trình gỡ lỗi, sử dụng chức năng C++ V8Debugger::functionLocation() để thu thập thông tin về hàm. functionLocation() sau đó sử dụng một số API C++ dành riêng cho V8 chẳng hạn như v8::Function::GetScriptLineNumber() and GetScriptColumnNumber() để tìm hiểu thông tin chính xác.

Tất cả các API được mô tả ở trên chỉ dành riêng cho mã C++ chứ không phải mã JavaScript. Nếu bạn đang cố gắng thực hiện nhiệm vụ này trong một nền tảng như Node.js, thì bạn sẽ có thể viết một mô-đun gốc. Nếu không, thì bạn không may mắn.

0

console.log có thể hiển thị tên chức năng trong Chrome với limited language support.

Tôi đã tìm thấy tên hàm hữu ích trong việc gỡ lỗi cuộc gọi lại và khi sử dụng observer pattern. Lưu ý điều này yêu cầu chức năng đặt tên để làm việc (tên chức năng ẩn danh rõ ràng là trống).

function myFn() {} 

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

Đầu ra Name of function myFn

Các vấn đề liên quan