网站首页 > 技术文章 正文
大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
控制台实用程序(Console Utilities API) API 包含一系列用于执行常见任务的便捷函数,包括:选择和检查 DOM 元素、查询对象、以可读格式显示数据、停止和启动探查器、监视 DOM 事件和函数调用等等。
inspect(object/function)
spect(object/function) 打开并在相应的面板中选择指定的元素或对象,比如:DOM 元素的“元素”面板或 JavaScript 堆对象的“配置文件”面板。
以下示例在“元素”面板中打开 document.body:
inspect(document.body);
当传递一个函数进行检查时,该函数会在“Source”面板中打开文档供检查。
getEventListeners(object)
getEventListeners(object) 返回在指定对象上注册的事件侦听器。 返回值是一个对象,其中包含每个注册事件类型(例如单击或按键)的数组。 每个数组的成员都是描述为每种类型注册的侦听器的对象。 例如,以下列出了在文档对象上注册的所有事件侦听器:
getEventListeners(document);
如果在指定对象上注册了多个侦听器,则该数组包含每个侦听器的所有成员。在以下示例中,在document元素上注册了两个用于单击事件的事件侦听器:
keys(object)
keys(object) 返回一个数组,其中包含属于指定对象的属性名称。要获取相同属性的关联值,请使用 values()。 例如,假设应用程序定义了以下对象:
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
假设player是在全局命名空间中定义的(为了简单起见),在控制台中键入keys(player)和values(player)会输出以下结果:
monitor(function)
调用指定的函数时,控制台会打印一条消息,指示函数名称以及调用该函数时传递给该函数的参数。
function sum(x, y) {
return x + y;
}
monitor(sum);
monitorEvents(object [, events])
当指定对象上发生指定事件之一时,该事件对象将记录到控制台。 开发者可以指定要监视的单个事件、事件数组或映射到预定义事件集合的通用事件“类型”之一。
下面监视窗口对象上的所有调整大小事件:
monitorEvents(window, "resize");
下面定义了一个数组来监视窗口对象上的“resize”和“scroll”事件:
monitorEvents(window, ["resize", "scroll"])
还可以指定可用的事件“类型”之一,即映射到预定义事件集的字符串。下表列出了可用的事件类型及其关联的事件映射:
例如,以下使用“key”事件类型在“元素”面板中当前选定的输入文本字段上输入所有相应的按键事件。
monitorEvents($0, "key");
以下是在文本字段中输入字符后的示例输出:
profile([name]) and profileEnd([name])
profile() 使用可选名称启动 JavaScript CPU 分析会话, profileEnd() 完成配置文件并在 Performance > Main 轨道中显示结果。
注意:profile() 和 profileEnd() 是 console.profile() 和 console.profileEnd() 的简写。
profile("Profile 1")
profileEnd("Profile 1")
Profile 也可以嵌套,比如下面的示例:
profile('A');
profile('B');
profileEnd('A');
profileEnd('B');
queryObjects(Constructor)
从控制台调用 queryObjects(Constructor) 以返回使用指定构造函数创建的对象数组。 例如:
- queryObjects(Promise):返回 Promise 示例
- queryObjects(HTMLElement):返回HTML元素
- queryObjects(foo):这里 foo 是一个类名,返回通过 new foo() 实例化的所有对象。
queryObjects() 的范围是控制台中当前选择的执行上下文。
table(data [, columns])
通过传入带有可选列标题的数据对象,以表格式打印对象数据。这是console.table() 的快捷方式。 例如,要使用控制台中的表格显示名称列表,可以执行以下操作:
let names = [
{ firstName: "John", lastName: "Smith" },
{ firstName: "Jane", lastName: "Doe" },
];
table(names);
undebug(function)
undebug(function) 停止指定函数的调试,以便在调用该函数时不再调用调试器。这与 debug(fn) 配合使用。
undebug(getData);
unmonitor(function)
unmonitor(function) 停止对指定函数的监视。这与监视器(fn)配合使用。
unmonitor(getData);
unmonitorEvents(object [, events])
unmonitorEvents(object[, events]) 停止监视指定对象和事件的事件。例如,以下命令停止窗口对象上的所有事件监视:
unmonitorEvents(window);
开发者还可以有选择地停止监视对象上的特定事件。 例如,以下代码开始监视当前选定元素上的所有鼠标事件,然后停止监视“mousemove”事件(可能是为了减少控制台输出中的噪音):
monitorEvents($0, "mouse");
unmonitorEvents($0, "mousemove");
values(object)
value(object) 返回一个数组,其中包含属于指定对象的所有属性的值。
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
values(player);
参考资料
https://developer.chrome.com/docs/devtools/console/utilities/#dir-function
https://developer.chrome.com/docs/devtools/console/utilities/#dir-function
- 上一篇: 你还不会移动端真机调试?
- 下一篇: 前端奇技淫巧之js调试
猜你喜欢
- 2024-11-19 记某次常规js前端逆向
- 2024-11-19 前端代码安全与混淆
- 2024-11-19 前端抓包神器--whistle
- 2024-11-19 使用chrome调试工具解决问题(六)
- 2024-11-19 使用chrome调试工具解决问题(七)
- 2024-11-19 使用chrome调试工具解决问题(五)
- 2024-11-19 使用chrome调试工具解决问题(四)
- 2024-11-19 使用chrome调试工具解决问题(三)
- 2024-11-19 楼宇自控系统设备的安装与调试
- 2024-11-19 使用chrome调试工具解决问题(一)
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 564℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 518℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)