网站首页 > 技术文章 正文
在 JavaScript 中,console 不仅仅只有 log error 和 warn 方法。
实际上console有20多个这样的方法。
它们的功能不仅仅是记录文本,它还包括彩色数据可视化、调试、性能测试等等。
让我们看看另外7个强大的方法
1. table()
- console.table(): 可以很轻松的将对象数组显示为表格,每个对象一行,每个属性一列。
在Node上有些不同:
明显比使用console.log()效果更好
2. trace()
我们可以使用trace()来获取我们的调用堆栈,对于调试非常管用。
3. count()
console.count()可以记录当前方法的调用次数。看下面这个示例
console.count()有一个从0开始的内部计数器。每次调用后,它将计数器加1并记录它...
这里的default来自哪里呢,这是计数器的标签,在count方法里面有一个内部字典,其中包含每个标签键的计数器值。
console.count()里面每个新标签从0开始计数,每次调用后,它将计数器加1并记录它...
我们可以使用count()的第一个参数轻松自定义标签
现在每条消息都有不同的计数。
可以使用countReset()方法将标签的内部计数器重置为0。
4. clear()
console.clear() 方法会清空控制台,但前提是该控制台允许清空。在浏览器控制台上支持清空,但 Node 终端支持度不够,调用该方法将不会产生任何效果(也不会报错)。
5. time() + timeLog() + timeEnd()
这三个方法配合使用可以精确测量任务花费的时间。
- time() - 启动计时器。
- timeLog() - 时间记录
- timeEnd() - 停止计时器。
让我们使用这三个方法来比较几个常用循环所耗费的时间
循环次数比较少时 for 循环性能是最差的,当循环次数变大时,性能优于另外两种循环。
6. group() + groupCollapsed() + groupEnd()
这是将一堆控制台信息组合在一起的绝佳组合,通过缩进优化日志展示。
group() - 添加1个分组。groupCollapsed() - 类似于group(),但分组开始时处于折叠状态。groupEnd() - 结束当前分组
在Node上只支持缩进 — 所以groupCollapsed()在node里面没有用。
7. dir()
dir()可以在控制台中查看对象的所有属性和方法。
看起来有点像console.log(),但console.dir()专为这个特殊目的而设计的。
我们再看下使用log()与dir() 打印HTML元素对象时会发生什么:
log()打印出HTML标签结构,但dir()打印结果是对象上的每个属性。
翻译自:https://medium.com/coding-beauty/7-little-known-console-methods-in-javascript-6dfb63e665be
猜你喜欢
- 2025-01-02 JavaScript字符串toString()方法教程
- 2025-01-02 vue3 - 内置组件Teleport的使用
- 2025-01-02 网页三维CAD中加载和保存STEP模型
- 2025-01-02 在.NET Web API中设置响应输出Json数据格式的两种常用方式
- 2025-01-02 剖析Selenium代码执行时元素查找失败的缘由
- 2025-01-02 H5的Canvas绘图——使用fabricjs绘制一个可多选的随机9宫格
- 2025-01-02 jscanify:支持 Node.js/浏览器/React 移动文档扫描仪
- 2025-01-02 js事件机制详解
- 2025-01-02 Java ArrayList用法详解附代码示例
- 2025-01-02 如何用枚举快速提高编程效率,数据元素快速对应,小枚举大作用
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)