如何在Chrome中调试JavaScript代码?

Chrome浏览器是Google推出的一款非常流行的网络浏览器,其内置的开发者工具(DevTools)为前端开发人员提供了强大的JavaScript调试功能,以下是如何在Chrome中调试JavaScript代码的详细指南:

一、打开开发者工具

chrome如何调试js

1、快捷键:按下Ctrl+Shift+I(Windows/Linux)或Cmd+Option+I(Mac)。

2、菜单:点击右上角的三个点,选择“更多工具” > “开发者工具”。

3、右键菜单:右键点击网页中的任意元素,选择“检查”或“Inspect”。

二、设置断点

断点是调试过程中最重要的工具之一,它允许你在代码执行到特定行时暂停,方便你进行检查。

方法1:在Source内容区设置

找到要调试的文件,然后在内容源代码左侧的代码标记行处点击,即可打上一个断点。

刷新浏览器,当页面代码运行到断点处便会暂停执行。

chrome如何调试js

方法2:在js文件中设置

在js源文件中需要执行断点操作的代码前加上debugger

刷新浏览器,当页面代码运行到断点处会暂停执行。

三、设置断点执行条件

你只希望在满足特定条件时暂停代码执行,右键点击行号,选择“Add conditional breakpoint”,然后输入条件表达式,只有当条件为真时,断点才会生效。

四、Call Stack调用栈

当断点执行到某一程序块处停下来后,右侧调试区的Call Stack会显示当前断点所处的方法调用栈,从上到下由最新调用处依次往下排列。

Call Stack列表的下方是Scope Variables列表,可以查看此时局部变量和全局变量的值。

调试时当前调用在哪里,Call Stack列表里的箭头便会指向哪里,同时当我们点击调用栈列表上的任意一处,便会调到相应的位置,方便我们再回头去看看代码。

chrome如何调试js

如果想重新从某个调用方法处执行,可以右键选择Restart Frame,断点就会跳到此处开头重新执行,同时Scope中的变量值也会依据代码重新更改。

五、DOM元素设置断点

除了可以给js代码设置断点,我们还可以给DOM元素设置断点,因为我们有时候需要监听和查看某个元素的变化、赋值情况,但是并是不太关心哪一段代码对它做的修改,只想看看它的变化情况。

我们右键点击需要监听的DOM节点,选择“Break On…”菜单项,在出现的三个选择项中任选一个便会添加断点。

这三个选择项分别对应如下三种修改情况:子节点修改、属性修改、节点删除。

设置好断点后,当DOM元素要被修改时,代码就会在自动停留在修改处。

六、统一管理所有断点

我们可能会在不同的文件、不同的位置添加许多断点,这些都会显示在Source页面里的Breakpoints、DOM Breakpoints区域中。

Breakpoints:js断点。

DOM Breakpoints:DOM元素断点。

点击断点前面的复选框可以暂时“去掉/加上”该断点,点击断点可跳转到相应的程序代码处。

七、快捷键

快速定位文件:使用快捷键:Ctrl + p

快速定位文件中成员函数:使用快捷键:Ctrl + Shift + o

八、格式化

js代码格式化:为了减小体积,有时候我们发现一些js源码都是压缩之后的代码,我们可以点击下面的 {} 大括号按钮将代码转成可读格式。

格式化返回的JSON数据:有时我们调试程序时需要查看服务端返回的数据内容,这个在Network选项卡中就可看到,但如果后台返回的是没有格式化的JSON数据,查看起来会异常痛苦,我们可以通过chrome控制台的copy接口来实现JSON数据的格式化,首先请求项的右键菜单中选择Copy Response拷贝响应内容,命令行中先输入copy(),然后将拷贝的数据粘贴到括号中,回车后copy接口便会自动将数据进行格式化,并保存到剪贴板中,我们将其粘贴到文本编辑器中就可以看到效果。

九、使用Snippets编写代码片段

在Sources页面下的Snippets栏目中,我们可以随时进行JS代码的编写,运行结果会打印到控制台,代码是全局保存的,我们在任何页面,包括新建标签页,都可以查看或运行这些代码,我们不再需要为了运行一小段JS代码而新建一个HTML页面。

点击“New Snippet”按钮,创建一个新的片段文件。

在代码区域输入js代码。

按下“Ctrl + Enter”或者点击右下方的按钮执行代码,可以看到代码执行成功且反应到当前页面上了。

十、Async调试

Chrome调试器的Async模式是为调试异步函数所设计一个功能。

测试代码:下面是一段使用Promise的代码。

//做饭
function cook(){
    console.log('开始做饭。');
    var p = new Promise(function(resolve, reject){  //做一些异步操作
        setTimeout(function(){
            console.log('做饭完毕!');
            resolve('鸡蛋炒饭');
        }, 1000);
    });
    return p;
}
 
//吃饭
function eat(data){
    console.log('开始吃饭:' + data);
    var p = new Promise(function(resolve, reject){ //做一些异步操作
        setTimeout(function(){
            console.log('吃饭完毕!');
            resolve('用过的碗和筷子');
        }, 2000);
    });
    return p;
}
 
cook()
.then(eat)
.then(function(data){
    console.log(data);
});

代码调试:我们都知道Promise的回调是异步执行的,默认情况下调用栈只记录到回调函数本身,我们无法找到代码执行的顺序,这给我们调试带来巨大的困难。

十一、常见问题解答(FAQs)

Q1: 如何在Chrome浏览器中打开开发者工具?

A1: 你可以通过按下键盘上的F12键或使用快捷键Ctrl + Shift + I来打开Chrome浏览器的开发者工具,也可以点击Chrome浏览器右上角的三个点,然后选择“更多工具” > “开发者工具”,或者,右键点击网页中的任意元素,然后选择“检查”或者“Inspect”也可以打开开发者工具。

Q2: 如何在Chrome开发者工具调试JavaScript代码?

A2: 在Chrome开发者工具中,点击顶部菜单栏中的“Sources”选项卡,在这个选项卡中,你可以看到你网页的所有资源文件,包括JavaScript文件,你可以通过在左侧面板中选择相应的文件来查看和编辑代码,你还可以在代码中设置断点,以便在执行过程中暂停并检查变量的值。

小伙伴们,上文介绍了“chrome如何调试js”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1425052.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-12-22 05:39
下一篇 2024-03-26 05:40

相关推荐

  • 如何在Chrome中高效进行JavaScript调试?

    Chrome JS调试详解一、Chrome开发者工具概述Chrome的开发者工具(DevTools)是进行JavaScript调试的首选工具,通过快捷键Ctrl + Shift + I (Windows) 或Cmd + Option + I (Mac) 可以快速打开开发者工具,或者右键点击网页上的任何元素,选择……

    2024-12-21
    02
  • 如何在Chrome中动态修改JavaScript代码?

    在现代网络开发和调试中,动态修改JavaScript代码是一个常见且重要的需求,Chrome浏览器提供了多种工具和功能,使得开发者能够实时查看、编辑和调试网页中的JavaScript代码,本文将详细介绍如何在Chrome中动态修改JavaScript代码,包括使用开发者工具、断点调试、以及如何利用控制台进行即时……

    2024-12-20
    00
  • 如何使用Chrome控制台进行JavaScript调试?

    打开控制台1、快捷键: – Windows/Linux/Chrome OS:Ctrl+Shift+J或F12, – Mac:Command+Option+J,2、通过菜单: – 点击右上角的三个点图标,选择“更多工具” > “开发者工具”,3、独立窗口: – 在控制台右上角点击三点图标,然后选择“独立窗口……

    2024-12-20
    01
  • 如何在Chrome控制台中有效使用JavaScript进行调试?

    Chrome控制台JS调试详解背景介绍Chrome浏览器的开发者工具是前端开发人员必备的工具之一,它提供了强大的JavaScript调试功能,通过Chrome控制台,开发者可以实时监控和调试网页中的JavaScript代码,极大地提高了开发效率,本文将详细介绍如何在Chrome控制台中使用JavaScript进……

    2024-12-20
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入