使用chrome开发者工具调试JavaScript代码的三种常用方法

2023-11-01

对 JS 程序的调试,除了在 JS 程序中使用 alert()、console.log() 方法跟踪和调试代码外,开发人员也会经常使用一些调试工具。最常用的 JS 调试工具就是一些主流的浏览器的调试工具,如 IE11 浏览器的“开发人员工具”、Firefox 浏览器的“Firebug”工具或较新版本的“开发者>>Web 控制台”以及 Chrome 浏览器的“开发者工具”。

限于篇幅的原因,本节将只介绍 Chrome 浏览器的“开发者工具”调试工具,IE 浏览器的“开发人员工具”和 Firefox 浏览器的“Firebug”以及“开发者>>Web 控制台”工具的使用和 Chrome 浏览器的“开发者工具”类似,大家可参考 Chrome 浏览器的“开发者工具”来使用它们。

相对于使用 alert() 方法来定位错误,使用调试工具会更便捷高效。因为调试工具可以在控制台具体指出出错的代码行数,以及具体的错误类型。此外,还可以使用控制台直接运行 JS 代码。接下来我们将通过示例 1 的 JS 代码的的调试来介绍 Chrome 的“开发者工具”的使用。

【例 1】使用 Chrome 的“开发者工具”调试代码。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>使用调试工具调试代码</title>
<script>
     window.onload = function (){
         var sum = 0,i = 1;
         var oText = documnt.getElementById('val');
         while(sum < 20){
              sum += i;
              i++;    
         }
         oText.value = sum;
     };
</script>
</head>
<body>
累加结果:
<input id="val" type="text"/>
</body>
</html>

1.调试定位错误

在 Chrome 浏览器中运行示例 1 ,当没有得到预期结果时,使用调试工具会比较容易定位错误。操作步骤为:同时按Ctrl+Shift+I组合键,打开 Chrome 浏览器的“开发者工具”,此时在默认打开的“Console”控制台可以看到显示出错代码行及错误类型,如图 1 所示。
在这里插入图片描述
图 1:在控制台中显示错误信息

图 1 报引用错误,说文件 ex1-3.html 中的第 9 行代码中的“documnt”没有定义,根据这个错误信息,我们很容易发现原来这个单词写错了,正确的写法是“document”。

2.跟踪调试代码

使用调试工具,同样也可以跟踪变量的变化,步骤如下。

① 修改图 1 所报错误后,将“开发者工具”中的选项卡切换到“Sources”,将打开一个包含 3 个窗口的界面,在左侧的窗口中双击文件“ex1-3.html”,此时会在中间窗口中打开源代码,如图 2 所示。
在这里插入图片描述

图 2:打开源代码

② 对代码添加断点。对代码设置断点的方法是:在需要添加断点的那个代码行的行号处单击鼠标左键,此时该行行号会显示蓝色背景,如图 3 所示。
在这里插入图片描述

图 3:设置断点

③ 设置断点后刷新页面,此时根据需要可单击右侧的调试窗口中的这 3 个按钮中的其中一个或按这 3 个按钮对应的快捷键 F10、F11 和 Shift+F11,分别实现逐句(F10)、逐过程(F11)和跳出(Shift+F11)这 3 种调试情况。在调试过程中,我们可以在右侧的调试窗口中的“Local”项中跟踪每一个变量在运行过程中的取值情况,如图 4 所示。
跟踪调试代码

图 4:跟踪调试代码
注:单击右侧调试窗口中的按钮,或同时按Ctrl+\组合键或按“F8”快捷键可以停止代的码调试。

3.使用控制台运行JS代码

打开 Chrome 浏览器,打开“开发者工具”的控制台,然后在控制台窗口光标所在位置输入 JS 代码或按Ctrl+V组合键复制 JS 代码,然后按“Enter”键回车即可运行控制台中的 JS 代码,如图 5 所示。
在控制台中运行JS代码
图 5:在控制台中运行 JS 代码
在这里插入图片描述

注:控制台中会默认输出 JS 代码中最后一个变量的值,如图 5 中的最后一个“6”就是最后的变量 i 的值。

本文参考使用chrome开发者工具调试JS代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用chrome开发者工具调试JavaScript代码的三种常用方法 的相关文章

  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 图形分析之Nsight的使用

    作者 i dovelemon 日期 2017 06 11 来源 CSDN 主题 Nsight OpenGL 引言 最开始的时候 我进行图形编程使用的是DX 所以那时候进行图形分析的时候 基本都是使用PIX 后来转向了OpenGL 分析的时候
  • JVM-17(垃圾回收器)上

    目录 17 1 GC分类与性能指标 17 1 1 JVM的发展 17 1 2评估GC的性能指标 17 2 不同的垃圾回收器概述 17 3 Serial回收器 串行回收 17 4 ParNew回收器 并行回收 17 5 Parallel回收器
  • html超链接打开共享文件夹,教你如何访问共享文件夹

    现在我们往往要讲究 资源共享 就是有好的东西跟大家一起分享 那么到电脑上呢经常有一些文件夹 有的是加密的 有的是共享的 今天呢小编就要给大家讲讲如何访问这些共享文件夹 要想查看共享文件夹其实也是有步骤可言的 首先 要先打开控制面板 有一个W
  • 电脑开机就显示360服务器,我用360给电脑杀毒,一直到开机启动项会停止,显示“扫面服务意外终止,无法继续扫描,这可能是由于程序...

    希望我的回答可以帮助楼主解决问题哦 这个问题很明显是杀毒软件自身的问题 不太知道诺顿这款杀毒软件 是不是在升级过程中发生什么问题造成的 楼主可以尝试换用腾讯电脑管家 这款杀毒软件在病毒以及木马的查杀方面很权威 很成熟 下面是我总结的电脑容易
  • ZGC收集器介绍

    ZGC收集器 XX UseZGC ZGC是一款JDK 11中新加入的具有实验性质的低延迟垃圾收集器 ZGC可以说源自于是Azul System公司开发的C4 Concurrent Continuously Compacting Collec
  • OK6410矩阵键盘驱动问题解决方案

    在嵌入式系统开发中 矩阵键盘是一种常见的输入设备 OK6410是一款广泛使用的ARM开发板 本文将介绍如何在OK6410开发板上实现矩阵键盘的驱动 硬件连接 首先 我们需要将矩阵键盘与OK6410开发板进行连接 矩阵键盘通常由多个行和列组成
  • ResNet到底在解决一个什么问题呢?

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 来源 知乎 https www zhihu com question 64494691 文仅交流 侵删 ResNet发布于2015年 目前仍有大量CV任务用其作为back
  • C# 代码转化为Java代码

    http www tangiblesoftwaresolutions com Free Editions html Install Instant C converts VB NET code to C Install Instant VB
  • 史上最全midjourney关键词

    最全midjourney关键词 篇幅太长 文章最后有可编辑版本获取链接 增强图片真实感 清晰度 unreal engine 虚幻引擎 ultra realistic 超真实 photography 摄影图片 detailed 细节 4K 4
  • LaTeX 使用笔记——公式篇

    目录 一 行内公式 二 独立公式 一 行内公式 二 独立公式 一 括号 1 当括号的两边分别位于上下两行公式 且可能出现两个括号大小不一致的情况 例如 使用LaTeX代码 begin aligned dot V k v 1 z k v 1
  • 一次性搞清楚unicode、codepoint、代码点、UTF

    最近在处理字符过滤 重新研究了下字符 unicode和代码点的相关知识 首先要说一下编码的基本知识unicode unicode unicode是计算机科学领域里的一项业界标准 包括字符集 编码方案等 计算机采用八比特一个字节 一个字节最大
  • Python 爬虫获取某贴吧所有成员用户名

    最近想用Python爬虫搞搞百度贴吧的操作 所以我得把原来申请的小号找出来用 有一个小号我忘了具体ID 只记得其中几个字母以及某个加入的贴吧 所以今天就用爬虫来获取C语言贴吧的所有成员 计划很简单 爬百度贴吧的会员页面 把结果存到MySQL
  • FreeMarker模板使用方法讲解

    项目需要 刚接触 正在学习 FreeMarker简介 FreeMarker模板文件主要由如下4个部分组成 1 文本 直接输出的部分 2 注释 lt gt 格式部分 不会输出 3 插值 即 或 格式的部分 将使用数据模型中的部分替代输出 4
  • 深度学习之基于CNN实现汉字版手写数字识别(Chinese-Mnist)

    Mnist数据集是深度学习入门的数据集 昨天发现了Chinese Mnist数据集 与Mnist数据集类似 只不过是汉字数字 例如 一 二 三 等 本次实验利用自己搭建的CNN网络实现Chinese版的手写数字识别 1 导入库 import
  • C++疑难杂症 error LNK2001: 无法解析的外部符号

    问题简述 error LNK2001 无法解析的外部符号 private static int ETH m age m age ETH 0HA 这类问题是我们在编译过程很常见 原因我百度的时候发现也分好几种 有可能是没有包含相应的头文件 也
  • vue 用axios请求接口的使用以及配置

    若依框架前后端分离 用axios请求接口的使用以及配置 首先需要下载安装 cnpm install axios save 安装完成以后进行配置 打开main js import axios from axios Vue prototype
  • .NET静态代码检查工具StyleCop的安装与使用

    最近需要做一个C 项目的代码走查 其中的一项内容就是要用代码的静态分析工具对代码进行检测 我的想法是使用VisualStudio自带的Microsoft托管建议规则外加StyleCop工具检测问题 主要是警告 再对这些问题逐一分析 我使用的
  • cbm+soma+simm ibm的SOA实施方法论

    cbm soma simm ibm的SOA实施方法论http www ibm com developerworks cn webservices 0909 CBM SIMM SOMA soa
  • 如何通过solc编译solidity编写的以太坊智能合约

    solc solidity的编译器 solidity编写的以太坊智能合约可通过命令行编译工具solc来进行编译 成为以太坊虚拟机中的代码 solc编译后最终部署到链上形成我们所见到的各种智能合约 作为一个solidity命令行编译工具 我们
  • 使用chrome开发者工具调试JavaScript代码的三种常用方法

    对 JS 程序的调试 除了在 JS 程序中使用 alert console log 方法跟踪和调试代码外 开发人员也会经常使用一些调试工具 最常用的 JS 调试工具就是一些主流的浏览器的调试工具 如 IE11 浏览器的 开发人员工具 Fir