console.trace()
在控制台上输出其结果。
我想以字符串形式获取结果并将其保存到文件中。
我没有为函数定义名称,也无法通过callee.caller.name
获得它们的名称。
最佳答案
我不确定firefox,但是在v8 / chrome中,您可以在Error构造函数上使用一种称为captureStackTrace
的方法。 (More info here)
因此,获取该漏洞的一种方法是:
var getStackTrace = function() {
var obj = {};
Error.captureStackTrace(obj, getStackTrace);
return obj.stack;
};
console.log(getStackTrace());
通常,
getStackTrace
会在被捕获时放在堆栈中。那里的第二个参数将getStackTrace
排除在堆栈跟踪之外。