var fun1=function(){console.log('hello');}
var fun2=fun1
console.log(fun2);
上面的代码在火狐中运行,打印fun2。在Chrome中,它打印函数体,在Node.js中,它打印Function。
为什么会有这种不同呢?
如何在Node.js中获取火狐的行为?
我为什么要问这个?
我问这个是因为我想调试从Idris生成的JS代码,其中JS运行时使用调用堆栈,我想以一种有意义的方式打印调用堆栈内容,Firefox做得最好,但我想在Node.js上调试代码,因此我想让Node.js将函数打印为Firefox,我该
所有服务器堆栈跟踪都打印在一行上。它们看起来像是字符串,然后才被打印出来。示例:
I20151215-23:18:57.623(0)? Exception while invoking method 'adminCheckAdmin' { stack: 'Error: When the modifier option is true, validation object must have at least one operator\n at checkModifier (packages/aldeed_simple-schema/simple-schema-va
我正在尝试使用一个非常简单的stacktrace.js示例。我正在尝试利用printStackTrace()方法来实现这一点。
基本上,我调用的是一个buggy函数,它会在控制台中抛出一个错误和堆栈跟踪。但是,我希望在控制台中显示此错误和堆栈跟踪,并将其存储在一个字符串中,并打印该字符串。
例如,如果我运行此函数
function foo() {
var x = y;
}
我得到一个未捕获的引用错误y is not defined
我需要将它存储在一个字符串中。
到目前为止,我已经尝试了以下方法
var error = null;
function foo(){
try {