chrome开发者控制台的这些功能你都知道吗?

author author     2022-08-20     652

关键词:

Chrome内置了一些开发者工具,这些工具提供了很多的功能。今天,我们将会专注于JavaScript控制台。

在我编程的过程中,这个控制台为我提供了大量的帮助。

如果你正在电脑端阅读这篇文章,你可以在阅读的同时打开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

技术分享 

要想找到某个特定eventListener,你可以使用下面这个命令:

 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()

然后点击回车,就是真么简单。

javascript中的这些骚操作,你都知道吗?

引言 查看详情

java开发人员必知的常用类库,这些你都知道吗?(代码片段)

作为一名程序员,我们要避免重复发明轮子,尽可能使用一些成熟、优秀、稳定的的第三方库,站在巨人的肩膀上搭建可靠、稳定的系统。本篇我整理了Java开发人员经常会使用到的第三方类库,可能不是很全面,还在持续收集... 查看详情

智能家居给生活带来的这些好处你都知道吗?

 智能家居现在已经不再只有华丽衣裳,更有很多实际功能,是你生活居家的好帮手。如果你拥有一套LivingLab的智能家居,你就能实现以下的各种场景。1、早晨,当您还在熟睡时,轻柔的音乐缓缓响起,卧室的窗帘准时自动... 查看详情

这些关于handler的知识点你都知道吗?(代码片段)

在安卓面试中,关于Handler的问题是必备的,但是这些关于Handler的知识点你都知道吗?一、题目层次Handler的基本原理子线程中怎么使用HandlerMessageQueue获取消息是怎么等待为什么不用wait而用epoll呢?线程和HandlerLoope... 查看详情

您可以通过在 chrome 开发工具(控制台)中创建的功能吗?

】您可以通过在chrome开发工具(控制台)中创建的功能吗?【英文标题】:Canyoustepthroughafunctioncreatedinchromedevtools(console)?【发布时间】:2017-02-2208:42:34【问题描述】:您可以使用chrome的开发工具单步执行和编辑js文件中的一些代... 查看详情

c++20的这些新特性,你都知道吗?(代码片段)

文章目录语言特性三路比较运算符范围for中的初始化语句和初始化器constevalconstint概念(concepts)约束协程模块库特性formatosyncstreamspanendianjthreadsemaphorelatchbarrier位运算库ranges语言特性三路比较运算符三路比较运算符表达式... 查看详情

c++20的这些新特性,你都知道吗?(代码片段)

文章目录语言特性三路比较运算符范围for中的初始化语句和初始化器constevalconstint概念(concepts)约束协程模块库特性formatosyncstreamspanendianjthreadsemaphorelatchbarrier位运算库ranges语言特性三路比较运算符三路比较运算符表达式... 查看详情

@autowired的这些骚操作,你都知道吗?(代码片段)

前言最近review别人代码的时候,看到了一些@Autowired不一样的用法,觉得有些意思,特定花时间研究了一下,收获了不少东西,现在分享给大家。也许@Autowired比你想象中更强大。1.@Autowired的默认装配我... 查看详情

c++14的这些新特性,你都知道吗?(代码片段)

文章目录语言特性变量模板泛型lambda放宽constexpr的限制二进制字面量数位分隔符函数返回值类型推导库特性make_uniqueshared_timed_mutex和shared_lockinteger_sequenceexchangequoted本文仅介绍C++14中的一些比较重要的特性。语言特性变量模... 查看详情

c++14的这些新特性,你都知道吗?(代码片段)

文章目录语言特性变量模板泛型lambda放宽constexpr的限制二进制字面量数位分隔符函数返回值类型推导库特性make_uniqueshared_timed_mutex和shared_lockinteger_sequenceexchangequoted本文仅介绍C++14中的一些比较重要的特性。语言特性变量模... 查看详情

关于sdk测试,这些你都知道吗?

一、sdkdemo的质量目前,sdkdemo是小编测试sdk的主要途径,所以sdkdemo的质量会直接影响到我们测试的结果。首先,作为测试用的demo,通常我们不需要它拥有美观的界面以及完全友好的用户体验,但是一定要真正... 查看详情

数据库的这些操作,你都知道吗?满满干货等你来收藏

第三章 DDL和DML前言:    SQL------>structuredquerylanguage------结构化查询语言    DDL------>datedefinationlanguage------数据定义语言    DML------>datemanipulationlanguage------>数据操作语言 3.1数据库操作   1、创建数据 查看详情

@autowired的这些骚操作,你都知道吗?(代码片段)

hi,大家好,我是苏三,又跟大家见面了。前言最近review别人代码的时候,看到了一些@Autowired不一样的用法,觉得有些意思,特定花时间研究了一下,收获了不少东西,现在分享给大家。也许@... 查看详情

mysql表结构管理中,这些知识你都知道吗?

前言:了解数据库1、数据库有几部分组成?   表+视图+函数+查询+备份   数据表是数据储存的基本单元       扩展知识:eclipse的最基本的单元是代码2、对于关系型的数据库而言,一张表就是一... 查看详情

挖掘机租赁需要注意什么?这些你都知道吗?

最近一年国内工程机械租赁行业异常火爆,直接影响国内的装备制造业。各个厂家,代理之间的恶性竞争,互相***,让客户分不清楚优劣,看不清楚市场行情。这里,机巢网请添加链接描述小编综合了各位行业大佬和前辈们的经... 查看详情

我可以在 Chrome 开发控制台中过滤来自某些来源的错误消息吗?

】我可以在Chrome开发控制台中过滤来自某些来源的错误消息吗?【英文标题】:CanIfiltererrormessagesfromcertainsourcesintheChromeDevconsole?【发布时间】:2020-05-0114:11:09【问题描述】:在ChromeDevTools控制台中,我不断收到来自某些地方的错... 查看详情

网曝“吃鸡”国服17日上线,关于外挂,这些你都知道吗?

先来一组思考题:听舅舅党说,腾讯《绝地求生》国服会在1月17日上线?如果不免费,你会不会玩?如果没外拐,你会不会玩?如果免费+道具付费,你会不会玩?如果只收你皮肤的钱,你会不会玩?为什么“吃鸡”官方对外挂... 查看详情

java中的基本数据类型和包装类型的这些知识,你都知道吗?(代码片段)

Java中的基本数据类型和包装类型Java中的基本数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型;这四大类包含8种基本数据类型。布尔型:boolean整数型:byte、short、int、long浮点型:float、double字符型:char这8种基本... 查看详情