Chrome开发者控制台的这些功能你都知道吗?
在我编程的过程中,这个控制台为我提供了大量的帮助。
如果你正在电脑端阅读这篇文章,你可以在阅读的同时打开Chrome来实践一下。
1. 选择DOM元素
如果你熟悉jQuery,你一定知道$(‘.class’)和$(‘#id’)选择器有多重要。它们会通过类或是与其相关的ID来选择DOM元素。
但是其实在开发者控制台中,即使你无法在DOM中使用jQuery,你一样可以这样选择。
$(‘tagName’) $(‘.class’) $(‘#id’)和$(‘.class #id’)相当于document.querySelector(‘ ‘)。它会反回DOM中与选择器相符的第一个元素。
你可以使用$$(‘tagName’)或是$$(‘.class’) 来根据具体的选择器来选择所有DOM中的所有元素。这个操作会生成一个字符串。之后,你可以通过定义元素在字符串中的位置,来选择某个特定的元素。
例如,$$(‘.className’)能帮你选择所有带有“className”这个类的元素。而$$(‘.className’)[0]和$$(‘.className’)[1]能够让你选择字符串中的第一个和第二个元素。

2. 将浏览器转换为编辑器
你是否曾经想要在浏览器中编辑文本?没问题,你可以将浏览器转化为编辑器。然后在DOM中添加或是移除文本。
你不再需要检查元素,然后编辑HTML文件。现在,你只需要打开开发者控制台,然后输入下列命令:
document.body.contentEditable=true
这个命令会让内容编程可以编辑的形式。之后你就可以在DOM中进行编辑了。
3.在DOM中寻找与某个元素相关联的Event
在调试的时候,你一定想要在DOM中找到与某个元素相关联的event。使用开发者控制台,你可以更轻松的完成这个目标。
getEventListeners($(‘selector’))会发挥一个对象字符串,里面包含着与那个元素有关的所有event。你可以展开对象,查看这些event:

要想找到某个特定event的Listener,你可以使用下面这个命令:
getEventListeners($(‘selector’)).eventName[0].listener
4. 监测Events
当DOM中的某个特定的元素在运行的时候,如果你想要监测与这个元素有关的event,你可以通过开发者控制台来完成。你可以通过多个不同的命令来监测这些event:
monitorEvents($(‘selector’))会根据选择器中的元素,监测与这个元素有关的所有event,然后在控制台中对这些event进行记录。
monitorEvents($(‘selector’),’eventName’)会记录与某个元素有关的一个特定event。你可以将event的名称作为argument对象发送给函数。
monitorEvents($(‘selector’),[‘eventName1’,’eventName3’,….])会根据你的要求记录多个event。
unmonitorEvents($(‘selector’)) :停止监测与控制台中的记录。
5. 寻找某个代码库的执行时间
JavaScript控制台有一个名叫console.time(‘labelName’)的基本函数,它会将label的名称作为argument对象,然后开始计时。还有另一个名叫console.timeEnd(‘labelName’)的基本函数,用来停止计时。
例如:
console.time('myTime'); //Starts the timer with label - myTime
console.timeEnd('mytime'); //Ends the timer with Label - myTime
//Output: myTime:123.00 ms
我们可以使用这两条命令来统计某个代码段的执行时间。
例如,如果我想确定一个loop的执行时间,我可以这样做:
console.time('myTime'); //Starts the timer with label - myTime
for(var i=0; i < 100000; i++){
2+4+5;
}
console.timeEnd('mytime'); //Ends the timer with Label - myTime
//Output - myTime:12345.00 ms
6. 将变量的值在图标中显示
假设我有一个下面这样的由对象组成的字符串:
var myArray=[{a:1,b:2,c:3},{a:1,b:2,c:3,d:4},{k:11,f:22},{a:1,b:2,c:3}]
在控制台中,当我们输入变量的名称时,它会以对象字符串的形式为我们提供值。这个功能非常实用,你可以展开对象,查看这些值。
但是,随着变量的数量的增多,我们很难对其进行查看。因此,为了更好的查看变量,我们可以用图表的方式对其进行显示。
你可以使用console.table(variableName)来完成这个目的:

7. 在DOM中对某个元素进行检查
你可以在控制台中直接对某个元素进行检查:
inspect($(‘selector’))会根据你所输入的选择器对元素进行检查。
$0, $1, $2……能帮你找到最近检查过的元素。
8. 列出元素的Property
如果你想要列出元素的所有property,你可以使用dir($(‘selector’)),它会返回一个带有所有property的对象,你可以展开对象,查看更多细节。
9. 取回最后一个结果的值
你可以将控制台作为计算器使用。你可以用下面的方式从内存中取回上一次计算的结果:
$_
Here’s what this looks like:
2+3+4
9 //- The Answer of the SUM is 9
$_
9 // Gives the last Result
$_ * $_
81 // As the last Result was 9
Math.sqrt($_)
9 // As the last Result was 81
$_
9 // As the Last Result is 9
10. 清空控制台和内存
如果你要清空控制台以及内存,你只需要输入:
clear()
然后点击回车,就是真么简单。
Chrome开发者控制台的这些功能你都知道吗?的更多相关文章
- 多了解一下Chrome开发者控制台
多了解一下Chrome开发者控制台 2017年10月14日 • Tools, Web前端 • 1.0k views • 暂无评论 作为一名前端开发者,Chrome内置的控制台是必须了解的,它拥有非常丰 ...
- Chrome 开发者控制台使用技巧
Chrome 有内置的开发者工具.它拥有丰富的特性,比如元素(Elements).网络(Network)和安全(Security).今天,我们主要关注一下 JavaScript 控制台. 当我最初写代 ...
- Chrome开发者工具不完全指南:(三、性能篇)
卤煮在前面已经向大家介绍了Chrome开发者工具的一些功能面板,其中包括Elements.Network.Resources基础功能部分和Sources进阶功能部分,对于一般的网站项目来说,其实就是需 ...
- 【译】在 Chrome 开发者工具中调试 node.js
原文链接 : Debugging Node.js in Chrome DevTools 原文作者 : MATT DESLAURIERS 译文出自 : 掘金翻译计划 译文链接 : https://git ...
- 在 Chrome 开发者工具中调试 node.js
命令行工具 devtool ,它可以在 Chrome 的开发者工具中运行 Node.js 程序. 下面的记录显示了在一个 HTTP 服务器中设置断点的情况. 该工具基于 Electron 将 Node ...
- 谷歌Chrome浏览器开发者工具的基础功能
上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...
- (转)Chrome开发者工具不完全指南(一、基础功能篇)
本篇转载自卖烧烤夫斯基,并做了小部分的修改. 原文地址:Chrome开发者工具不完全指南(一.基础功能篇) 原作者:卖烧烤夫斯基 就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生 ...
- [转]谷歌Chrome浏览器开发者工具教程—基础功能篇
来源:http://www.xiazaiba.com/jiaocheng/5557.html Chrome(F12开发者工具)是非常实用的开发辅助工具,对于前端开发者简直就是神器,但苦于开发者工具是英 ...
- Chrome 开发者控制台中,你可能意想不到的功能
Chrome 有内置的开发者工具.它拥有丰富的特性,比如元素(Elements).网络(Network)和安全(Security).今天,我们主要关注一下 JavaScript 控制台. 当我最初写代 ...
随机推荐
- DotNetOpenAuth搭建OAuth2.0
使用DotNetOpenAuth搭建OAuth2.0授权框架 标题还是一如既往的难取. 我认为对于一个普遍问题,必有对应的一个简洁优美的解决方案.当然这也许只是我的一厢情愿,因为根据宇宙法则,所有事物 ...
- Make Things Move -- Javascript html5版(二)实现最基本的Sprite类和stage管理对象
现在这几篇写的都是比较基础的东西,有过相应开发经验的朋友可直接忽略啦. 计算机模拟的动画都是由很多静态的一连串影像(sprite)在一定帧率(fps)内逐帧播放出来的. 对于js来说,我们可以用提供的 ...
- JS的基本概念
JS的基本概念 任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要涉及这门语言的语法,操作符,数据类型,内置功能等用于构建复杂解决方案的概念.Ecma-262通过叫做EcmaSc ...
- AppBox_v3.0
AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布! AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. Ap ...
- 性能测试工具比较:LoadRunner vs JMeter - 测试结果数据比较
对web请求(HTTP/HTML)进行性能测试,确认请求响应时间.分别使用Loadrunner和JMeter进行测试,比较测试结果. 1.LoadRunner测试web请求响应时间 1.1 编制(录 ...
- kivy Grid Layout
http://kivy.org/docs/api-kivy.uix.gridlayout.html?highlight=gridlayout#kivy.uix.gridlayout It's so n ...
- vsftp FTP服务器 server settings , and add different users
建议阅读知识:http://linux.vbird.org/linux_basic/0210filepermission.php 这是关于档案权限,用户,组等的问题.介绍的很有意思. 1. Inst ...
- java.io.IOException: Unable to open sync connection!的解决方案
在学习Android的时候,经常是使用手机调试程序,很方便,后来 在使用手机调试程序的时候出现了 [2012-03-08 11:27:43 - Tea_marsListActivity] ------ ...
- iOS上线项目源码分享
最强UINavigationController和TabBar结合(会员satian ) 最强UINavigationController和TabBar结合的Demo,这里取用了明星衣橱app里的 ...
- ASM上的备份集如何转移到文件系统中
刚看到一个有关asm备份集的迁移的问题.特地整理了一下 方法有两个. 方法一:使用rman,rman是一个非常好的工具,不仅仅是备份的作用,如果你只用rman作备份的话,有些浪费了. 通过rman里的 ...