你可能不知道的Chrome-devtools用法总结

开发 前端
Snippets是一个新的可以在这个开发流程中使用的开发者工具,它允许你在源面板中创建,存储和执行 JavaScript。

常用快捷键

  1. 在 Mac 上使用 Cmd + Shift + C) 在审查模式下打开开发者工具或是在开发者工具已经打开的情况下开启查阅选项。
  2. 在Source选项, Cmd + o (Mac OS X) 可以搜索文件, Cmd + Shift + o (Mac OS X) 搜索文件中的对应函数/特定选择器的一个选择框。
  3. Cmd + L (Mac OS X) 跳转到指定行号。
  4. 要打开抽屉式控制台,你需要在键盘上按下 Esc 键或者点击开发者工具窗口右上角的 Show Drawer 按钮。

Snippets

Snippets是一个新的可以在这个开发流程中使用的开发者工具,它允许你在源面板中创建,存储和执行 JavaScript。

  • 书签所有你的书签可以作为片段进行存储,特别是那些你可能想编辑的。
  • 实用工具调试工具可以和当前页面进行交互,并且可以保存和调试。一个社区企划的列表已经被提供。
  • Debugging Snippets提供了一个语法高亮显示并且可持续的多行控制台,这样使得调试代码比单行要更加便捷。
  • Monkey-patching code你想要在运行时修复的代码可以通过 Snipptes 来完成,尽管多数时候你可能只是在源面板中实时编辑代码。

如果你想在控制台中,执行 snippet 的一些特殊行中的代码,你可以在编辑器中选中这些代码,然后右键,选择 Evaluate in Console 选项来进行执行。

你可能不知道的Chrome-devtools用法总结

控制台

断言

console.assert() 方法仅仅只当它的***个参数为 false 时才显示一个错误信息字符串(它的第二个参数)

在下面的代码中,如果在列表中的子节点的数量超过 500,将会在控制台中引起错误信息。

示例:

  1. console.assert(list.childNodes.length < 500, "Node count is > 500"); 

结果:

你可能不知道的Chrome-devtools用法总结

输出分组

你可以通过分组命令把相关联的输出信息分在一起。 group 命令通过一个字符串的参数来给你的组命名。控制台将会把所有所有的输出信息组合到一块。要结束分组,你只需要调用 groupEnd 即可。

示例代码

  1. var user = "jsmith", authenticated = true, authorized = true
  2. // Top-level group 
  3. console.group("Authenticating user '%s'"user); 
  4. if (authenticated) { 
  5.     console.log("User '%s' was authenticated"user); 
  6.     // Start nested group 
  7.     console.group("Authorizing user '%s'"user); 
  8.     if (authorized) { 
  9.         console.log("User '%s' was authorized."user); 
  10.     } 
  11.     // End nested group 
  12.     console.groupEnd(); 
  13. // End top-level group 
  14. console.groupEnd(); 
  15. console.log("A group-less log trace."); 

结果:

你可能不知道的Chrome-devtools用法总结

浏览结构化数据

table() 方法提供一个简单的方法来查看相似数据对象。这将给一个数据提供属性并且创建一个头。行数据将会从每一个索引属性值中获取。

示例代码:

  1. console.table([{a:1, b:2, c:3}, {a:"foo", b:false, c:undefined}]); 
  2. console.table([[1,2,3], [2,3,4]]); 

结果:

你可能不知道的Chrome-devtools用法总结

table() 中的第二个参数是可选项。你可以定义任何你想显示的属性字符串数组。

一个使用了对象集合的控制台输出表。

示例代码:

  1. function Person(firstName, lastName, age) { 
  2.   this.firstName = firstName; 
  3.   this.lastName = lastName; 
  4.   this.age = age; 
  5. var family = {}; 
  6. family.mother = new Person("Susan""Doyle", 32); 
  7. family.father = new Person("John""Doyle", 33); 
  8. family.daughter = new Person("Lily""Doyle", 5); 
  9. family.son = new Person("Mike""Doyle", 8); 
  10. console.table(family, ["firstName""lastName""age"]); 

结果:

你可能不知道的Chrome-devtools用法总结

将 DOM 元素格式化成 JavaScript 对象

当你想要在控制台中记录一个 DOM 元素,就显示成了 XML 格式。在元素面板中也会是同样的显示。要显示 JavaScript 格式的信息,你可以使用 dir() 方法或者是在 log() 中使用占位符来替换成你的 JavaScript。

你可能不知道的Chrome-devtools用法总结

使用 CSS 样式来更改控制台输出形式

CSS 格式说明符可以修改在控制台中输出的样式。以你要修饰的文字配上占位符开始,然后在第二个参数中写上你要展示的风格。

更改日志样式

示例代码:

  1. console.log("%cThis will be formatted with large, blue text""color: blue; font-size: x-large"); 

结果:

你可能不知道的Chrome-devtools用法总结

计算时间开销

通过 time() 方法可以启动一个计时器。你必须输入一个字符串来识别时间的标记。当你要结束计算的时候,使用 timeEnd() 方法,并且传递一个相同的字符串给构造器。控制台会在 timeEnd() 方法结束的时候,记录下标签以及时间的花销。

关于 JavaScript 执行时间的示例代码以及输出:

示例代码:

  1. console.time("Array initialize"); 
  2.     var array= new Array(1000000); 
  3.     for (var i = array.length - 1; i >= 0; i--) { 
  4.         array[i] = new Object(); 
  5.     }; 
  6. console.timeEnd("Array initialize"); 

结果:

你可能不知道的Chrome-devtools用法总结

当 time() 方法正在执行期间,将会生成一个 时间轴 记录并为其做出注解。这对于追踪应用的使用以及其来源非常有用。

你可能不知道的Chrome-devtools用法总结

反向查找元素

你也可以在任何一个元素上右键然后点击 Reveal in Elements Panel,这样就可以在DOM 中找到它。

你可能不知道的Chrome-devtools用法总结

控制台设置

在开发者工具的设置窗口中的常规选项卡里你可以修改四个控制台设置。

你可能不知道的Chrome-devtools用法总结

责任编辑:未丽燕 来源: SegmentFault
相关推荐

2021-12-17 00:10:00

ChromeDevtools功能

2022-05-01 09:29:19

Chrome面板页面

2012-11-23 10:57:44

Shell

2023-02-27 09:20:24

绝对定位CSS

2023-01-29 09:46:47

Dialog弹窗模态

2021-01-05 11:22:58

Python字符串代码

2020-01-29 19:40:36

Python美好,一直在身边Line

2015-08-13 09:03:14

调试技巧

2019-11-20 10:25:06

sudoLinux

2021-07-12 07:59:06

安全 HTML 属性

2014-12-08 10:39:15

2019-11-25 14:05:47

Python装饰器数据

2020-03-05 11:10:18

Left join数据库MySQL

2016-09-05 13:14:11

2010-07-29 09:18:31

Linux用户

2024-03-04 00:00:00

Kubernetes技巧API

2022-09-20 11:58:27

NpmNode.js

2018-05-10 11:50:13

Docker容器冷知识

2011-02-14 16:11:44

2020-05-09 08:48:21

JavaScript原生方法代码
点赞
收藏

51CTO技术栈公众号