如何获得调用当前函数的函数的名称和行?我想要一个像这样的基本调试功能(使用npmlog定义log.debug
):
function debug() {
var callee, line;
/* MAGIC */
log.debug(callee + ":" + line, arguments)
}
当从另一个函数调用时,它会是这样的:
function hello() {
debug("world!")
}
// outputs something like:
// "hello:2 'world!'"
为了清楚起见,我想要的基本上类似于Python 中的这个:
import inspect
def caller():
return inspect.stack()[2][3]
// line no from getframeinfo().lineno
是否有等效的节点来完成此操作?