1、在js中通常使用console.log()打印代码,当在浏览器上运行的JS程序中输入console.log()时,则会在浏览器的控制台中显示出相应的数据
当点击图片中箭头的位置,则会展开日志,可以清楚的看到对象的属性:
2、在node.js中,也会发生同样的情况。
当记录内容到控制台时,因为它会将对象输出到日志文件,你会获得对象的字符串表示形式。在达到一定嵌套级别之前一切都很好,在经过两个级别的嵌套后,node.js会放弃并打印[object]作为占位符,比如下面这段代码:
const obj = {
name: 'Amy',
age: 18,
person01: {
name: 'Hong',
age: 10,
person02: {
name: 'Ming',
age: 20,
person03: {
name: 'wang',
age: 30
}
}
}
}
console.log(obj)
{
name: 'Amy',
age: 18,
person01: {
name: 'Hong',
age: 10,
person02: {
name: 'Ming',
age: 20,
person03: [Object]
}
}
}
3、那如何打印整个对象?
最好的方法将全部内容显示出来,参考如下:
console.log(JSON.stringify(obj, null, 2))
注释:数字2用于缩进的空格数
方法二使用如下方法:
require('util').inspect.defaultOptions.depth = null
console.log(obj)
该方法存在一个问题,第二级之后的嵌套对象会被展平(针对复杂对象的问题)。
今日份寄语:
幸福,是用来感觉的,而不是用来比较的。