最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
谷歌浏览器中如何利用Console打印复杂的对象结构数据
时间:2026-07-05 13:03:52 编辑:袖梨 来源:一聚教程网
用console.dir()可完整展开嵌套对象所有属性(含Symbol、不可枚举项),console.table()适合规整数据表格化展示,JSON.stringify或copy()配合temp变量可复制纯文本结构。
要在谷歌浏览器中清晰查看嵌套层级深、属性多的 JavaScript 对象结构,不能只靠默认的 console.log() 展开式输出——它容易折叠关键字段,复制时还带格式符号和不可见字符。
用 console.dir() 展开对象全部属性
第一步:在控制台输入 console.dir(你的对象变量名),回车执行。
这会以树形结构列出对象所有自有属性、原型链属性、getter/setter 和方法,比 console.log() 更彻底。
【必须确保对象已定义且非 null/undefined,否则会报错】
第二步:点击左侧箭头逐层展开任意属性,包括 Symbol 属性和不可枚举属性。
注意:DOM 元素用 console.dir() 也能看到 style、dataset、attributes 等完整细节,而 console.log() 只显示 HTML 标签快照。
用 console.table() 查看数组或键值结构规整的对象
方法一:直接传入数组或含统一字段的对象数组console.table([{name: "张三", age: 28}, {name: "李四", age: 32}])
表格自动提取公共 key 作为列头,数值、字符串、布尔值对齐显示,null/undefined 显示为空格。
方法二:传入普通对象 + 字段数组限定列范围console.table(user, ["id", "email", "role"])
这一步能过滤掉你不关心的私有属性或函数,避免表格过宽撑出滚动条。
把对象转成可复制的 JSON 字符串
① 如果对象可被 JSON 序列化(不含 function、undefined、Symbol、循环引用):console.log(JSON.stringify(obj, null, 2))
缩进 2 个空格,格式清晰,Ctrl+C 复制后粘贴到编辑器里就是标准 JSON。
② 遇到无法序列化的对象(比如含 DOM 节点、Date 实例、RegExp):
先右键点击控制台中已打印出的对象 → 选择 “Store as global variable” → 得到类似 temp1 的临时变量 → 再执行 copy(temp1)。
【copy() 是 Chrome 控制台内置函数,不是 JS 原生 API,只能在 DevTools 中直接调用】
此时对象已转为纯 JSON 字符串存入剪贴板,粘贴即得完整结构文本。
③ 复杂业务对象含自定义格式逻辑(如订单状态图标、金额格式化):
在对象上挂载 [Symbol.for('console.formatter')] 方法,返回 header + properties 结构,Chrome 会优先调用该方法渲染。此方式需提前在代码中定义,不适用于临时调试。