chrome打印出的console
-
console.log()
-
console.info()
-
console.warning()
-
console.error()
以上4个都是信息打印,只是信息类型不同罢了!
-
console.debug()
输出“调试”级别的消息,且仅仅控制台为显示调试输出时才显示该消息。(是滴~ 我看不见,被隐藏了~)
-
console.dir()
打印出指定JS对象的属性。这个列表可以使用三角形隐藏和显示来审查子对象的内容。当你发现log满足不了你的需求时,用dir吧~ 把对象看得透透的~
-
console.dirxml()非标准
显示一个明确的XML/HTML元素的包括所有后代元素的交互树。 如果无法作为一个element被显示,那么会以JavaScript对象的形式作为替代。 它的输出是一个继承的扩展的节点列表,可以让你看到子节点的内容。
下图是我在MDN某页面打印出的id为nav-footer里的内容:
下图是我打印刚声明的一个空字符串对象a = new String()
-
console.group()
在 Web控制台上创建一个新的分组.随后输出到控制台上的内容都会被添加一个缩进,表示该内容属于当前分组,直到调用console.groupEnd()之后,当前分组结束。
console.groupCollapsed() 和 console.group()方法基本一致,唯一不同是,console.groupCollapsed() 新建的分组默认是折叠的.用户必须点击一个按钮才能将折叠的内容打开
-
console.clear()
清空控制台,并输出 Console was cleared -
console.table()
用法:console.table(data [, columns]) ,如果data是array,则table第一列是 index; 如果data是object,那么它们的值就是各对象的属性名称。如果是一个对象数组,则按上述规则,对号入座(FireFox 中console.table 被限制为只显示1000行)。
tips:
可以使用 columns 参数选择要显示的列的子集(列名组成的数组);
可以点击每列的顶部标签来重排输出的表格。 -
console.trace()
向Web控制台输出一个堆栈跟踪,将会显示到调用 console.trace() 的点的调用路径。
-
console.time() 又是一个神奇的工具
console.time() 和console.timeEnd() 配套使用可以创建一个计时器,其唯一的参数表示了计时器的名字。使用 console.timeEnd() 方法关闭计时器,并获取经过的ms,其同样以计时器的名字作为参数。一个页面最多同时只能有 10,000 个计数器运行。
使用console. timelog() 打印指定计时器的运行时间。
看,浏览器数10000才花了1ms(T_T)
另外, MDN警告!!!:
如果使用计时器来记录网络时间请求的话,计时器将会报告整个传输过程的时间,而网络面板里显示的时间只计算了请求头部所需要的时间。如果启用了响应体日志记录,那么列出的响应头部和响应体组合的时间应该与在控制台输出中看到的时间相符。 -
console.assert()
用法:console.assert(assertion, obj1 [, obj2, ..., objN]) ,如果assertion为false,则将一个错误消息写入控制台。如果assertion是 true,没有任何反应。
在Node.js v10.0.0之前,console.assert() 在Node.js中的实现和浏览器中可用的console.assert()方法实现不同:
在浏览器中当console.assert()方法接受到一个值为假断言的时候,会向控制台输出传入的内容,但是并不会中断代码的执行,而在Node.js v10.0.0之前,一个值为假的断言也将会导致一个AssertionError被抛出,使得代码执行被打断。
v10.0.0修复了此差异,现在console.assert()在Node 和浏览器中执行行为相同 。
以上基本上是console的全部api了,总结一遍,不仅能增加一些奇怪的知识,还能在不知道的人面前装一下X,没错,这就是一篇我装X失败后的反省文~就酱