1 | java system.out.println('hello world') |
F12 或者 Control+Shift+i(PC 平台)/ Alt+Command+i(Mac 平台)打开我们的控制台
console API
介绍
JavaScript
原生中默认是没有 Console
对象。是宿主对象提供的,也就是说 console
是浏览器提供的内置对象。
用于访问调试控制台, 在不同的浏览器里效果可能不同。
IE 低版本没有(当然你装了高版本,然后打开控制台他又能用 console
了)。
日志级别 API
提供了日志级别 api
。可以方便我们根据类型,更快的定位需要关注的问题。
console.log('普通-文本')
与console.dir('普通-对象')
不同之处在于输出dom
节点对象类型是会有一些差别。console.info('信息')
console.log
的别名,输出信息,部分浏览器会增加一个蓝色标志。console.warn('警告')
黄色警告标识,也有堆栈信息。console.error('错误')
输出信息时,在最前面加一个红色的叉,表示出错,同时会显示错误发生的堆栈。console.debug('调试')
从Chromium 58
开始,Chromium
浏览器只有勾选了控制台中的“Verbose”
日志级别才可见。
支持多种写法
多参数
console.log('auther:', 'lilnong.top')
占位符格式,支持的占位符有:字符(%s)、整数(%d 或%i)、浮点数(%f)、可展开的 DOM(%o)、列出 DOM 的属性(%O)、根据提供的 css 样式格式化字符串(%c)
%s:字符串
%d:整数
%i:整数
%f:浮点数
%o:obj 对象(DOM)
%O:obj 对象
%c:CSS 样式
console.log('auther:%s', 'lilnong.top')
console.log('%cauther:%s', "color: red; font-size: 20px",'lilnong.top')
;
更适合封装起来使用。
功能性的 API
console.assert(location.protocol=='https:', "https 防止劫持哦~")
接受两个参数,第一个参数是表达式,第二个参数是字符串。只有当第一个参数为false
,才会输出第二个参数,否则不会有任何结果。console.clear()
清除当前控制台的所有输出。console.count('count')
提供计数功能。比如说有个排序算法,我们想统计时间复杂度。Console.countReset()
我们也可以重置指定标签的计数器值。console.group('第一层')
;console.groupEnd()
; 提供将显示的信息分组功能,可以把信息进行折叠和展开。console.groupCollapsed('第一层')
;console.groupEnd()
; 同上,不同点是默认是折叠状态console.table(arr)
; 提供将复合类型的数据转为表格显示。还可以进行排序等操作。console.time('task');console.timeEnd('task')
; 提供了统计代码执行用时的功能。不准,波动会比较奇怪,多统计,然后求平均值吧console.trace()
; 追踪函数的调用过程,也可以理解为把打印堆栈。
Console
面板介绍
上面介绍了 API
。接下来我们介绍一下面板的使用。
控制的是,级别筛选栏的隐藏与显示。
messages
是所有消息类型user messages
是指所有用户日志,浏览器产生的不算。如下,产生的错误就不算
1 | document.body.addEventListener('touchmove', (e)=>e.preventDefault()) |
errors
是指错误级别的日志warning
是指警告级别的日志info
是指信息级别的日志verbose
是指调试级别的日志
清空当前面板内容。
快捷键
ctrl+l
对应的命令是console.clear()
;
是指当前的作用域。如果有 iframe 的话,可以切换作用域为对应的 iframe。然后就可以快乐的在控制台调用 iframe 里面的变量了。
通过关键词过滤日志
描述有多少条记录被隐藏
设置功能,里面是一些控制开关。