node打印对象的方法有console, util.inspect, JSON.stringify,而且可以完整的打印;
JSON.stringify(obj, null, 1); //JSON.stringify(value[, replacer[, space]])
第二参数用null,不用替换,第三个参数格式打印缩进或替代缩进的方式
但是,有没有可以完整打印函数的方法?比如很简单一个函数:
let a = function () {
let b = 1;
let c = 0;
return b + c;
}
我想完整打印出来里面,显示代码
用console.log() 或者util.inspect()打印: [Function: a] 用JSON.stringif()打印是 undefined
node中js部分的方法,你a.toString()
就可以了,c++部分的没法直接打印吧。
@soda-wy 谢谢了,是想打印js部分的方法,测试的时候一直在前面加上了123,结果打印的是字符串,没有格式化,去掉了就好了。
console.log(123, a.toString());
123 'function () {\r\n let b = 1;\r\n let c = 0;\r\n return b + c;\r\n}'
function () {
let b = 1;
let c = 0;
return b + c;
}
a.toString()
或 String(a)
直接打印只显示function。。。你需要把它转化为字符串
我想你要的是console.log(‘123%s’, a.toString());
@steambap 都是可行的,不过不能用于打印完整对象上
@AnzerWall 对,这么处理可以打印出来有显示缩进
@fruit-memory function可以这么处理,深层对象不能直接转字符串,会显示object