你不知道的console.log
本文于2174天之前发表,文中内容可能已经过时。
前言
对于前端开发者,使用console.log() 次数绝对很多,但是大部分人认识的 console 对象还不是很全面,其实深入了解这些后,你会发现给开发过程带来很多便利,而且还很有趣。
先来看看别人的控制台。
天猫(还加入了字符画)

百度(这个大家都不陌生,最近还稍微有点改变)

再来看下我博客的

是不是感觉你之前用的console.log()弱爆了,别着急往下看。
重新认识 console
你好我是console,重新认识一下吧。
正在阅读这篇文章的你,F12打开你的控制台,切到Console输入console输出看看这个对象

是不是惊呆了,除了常用的 log 方法还有这么多方法。
console.log() 输出普通信息
console.info() 输出提示信息
console.error() 输出错误信息
console.warn() 输出警告信息
上面这些就不演示了。
console.dir()
显示对象的所有的属性和方法
1 | var obj = { |

console.tabel()
传入对象/数组,以表格形式输出
1 | var obj = { |

console.time()
计时器,可以将成对的console.time()和console.timeEnd()之间代码的运行时间输出到控制台上
1 | console.time('计时器'); |

console.group() 和 console.groupCollapsed()
输出嵌套,就是分组,同样支持多层嵌套
1 | console.group('第一层'); |

ps:console.group 默认是展开状态,console.groupCollapsed 默认是收起状态
console.trace()
用来追踪函数的调用轨迹。大型项目中,这尤为重要。
1 | function add(a, b) { |

console.count()
输出执行次数
1 | (function() { |

console.assert()
条件输出,接收两个参数。第一个参数为真时,不输出内容,否则显示,并抛出来一个异常。
1 | console.assert(1 == 1, '你看不到我'); |

console.log 的高级玩法
这个为什么单独拿出来说,正是因为这个玩法多样。会了,你可以像文章开头举例那些,做出自己喜欢的console.log
占位符
- %s 格式化成字符串输出
- %d or %i 格式化成整数输出
- %f 格式化成浮点数输出
- %o 转化成展开的DOM元素输出
- %O 转化成JavaScript对象输出
- %c 字符串增加样式输出
1 | var arr = ["小明", "小红"]; |
再来试试 %c 来点样式
1 | console.log('%c我的背景是红色', 'color: #fff; background: red; font-size: 24px;'); |

