【JavaScript】JavaScript 程序流程控制 ③ ( 对 JavaScript 代码进行断点调试 )

文章目录

  • 一、对 JavaScript 代码进行断点调试
    • 1、断点调试
    • 2、浏览器断点调试





一、对 JavaScript 代码进行断点调试




1、断点调试


断点调试 指的是 在 程序代码 的 指定行 设置一个断点 , 以 调试模式 启动后 , 当程序运行到 断点 处 , 就会阻塞住 , 此时可以查看 当前 各个变量的值 ,

然后 , 可以逐行代码向后执行 , 每行代码处都会阻塞住 , 每次阻塞 都可以查看 当前各个变量 / 表达式 的值 ,

如果 代码执行出错 , 就会 显示 出错信息 , 停止执行 ;


2、浏览器断点调试


在 浏览器 中 , 按 F12 进入 调试模式 ,

然后选择 " Sources " 选项 , 在 Sources 选项卡的 Page 栏 , 选择 要 调试的 JavaScript 代码所在的 demo.html 文件 ;

在这里插入图片描述

点击 JavaScript 代码 行 的 行号位置 , 显示有个向右的蓝色箭头 , 就是在该行设置断点成功 ;

在这里插入图片描述

选中 指定的表达式 , 这里选择 i 变量 , 然后点击右键 , 在弹出的右键菜单中 , 选择 " Add selected text to watches " 选项 , 就可以在右侧 " Watch " 中查看选中的表达式 ;

在这里插入图片描述

刷新界面 , 进入断点 , 阻塞 , 此时 var i = 0; 代码还未执行 , i 的值为 undefined 未定义值 ;

在这里插入图片描述

点击 下面 红色矩形框 的 下箭头 按钮 , 或 按 F11 快捷键 , 即可执行 var i = 0; 代码 , 执行完毕后 , i 变量被声明 , 值变为 0 ;

此时代码阻塞在 i < 100 处 ;

在这里插入图片描述

继续按 F11 快捷键 , 执行代码 i < 100 , 得到 true , 表示不满足 循环终止条件 , 执行循环体内容 ,

代码阻塞在 console.log("循环 " + i); 循环体代码的第一行位置 ;

在这里插入图片描述

继续按 F11 快捷键 , 执行循环体代码 console.log("循环 " + i); , 在 浏览器控制台 输出 如下内容 ;

在这里插入图片描述
回到 Sources 面板 ,

代码阻塞在 i++操作表达式 位置 ;

在这里插入图片描述

按下 F11 快捷键 , 执行 i++操作表达式 , 此时 i 变量自增 1 , 在 Watch 面板中变为 1 ,

至此 , 一个完整的 for 循环 完成 第一次循环 ,

再向后执行 , 就是第二次 循环 ;

此时代码阻塞在 循环终止条件 i < 100; 代码处 , 这是 本次循环 开始的代码 , 按 F11 继续向后执行 ;

在这里插入图片描述


参考 or 循环的语法结构 :

for (initialization; condition; operate-expression) {  
  // 循环体,只要条件为真就会执行这里的代码  
}
  • initialization : 循环控制变量 的 初始化表达式 ;
  • condition : 循环终止条件 , 如果该条件为 false 则继续执行循环 , 如果 该 表达式为 true 则退出循环 ;
  • operate-expression : 操作表达式 , 循环控制变量 的 变化方式 , 一般是 递增 / 递减 运算符 运算 ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/475958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GraalVM详细安装及打包springboot、java、javafx使用教程(打包普通JAVA项目篇)

前言 在当前多元化开发环境下&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱&#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

中国网怎么投稿,发稿流程,中国网发稿需要多少钱?(附中国网各频道价格明细)

中国网是一家专业的新闻媒体平台&#xff0c;拥有庞大的读者群体和高质量的新闻内容。很多企业和个人都希望能够在中国网上发布自己的文章或新闻&#xff0c;以增加曝光度和影响力。那么&#xff0c;中国网如何投稿&#xff1f;发稿流程是怎样的&#xff1f;又需要多少费用呢&a…

从初学者到专家:Java的Lambda表达式完整指南

一.Lambda的概念 概念&#xff1a;Lambda表达式是Java 8引入的一项重要功能&#xff0c;它允许我们以更简洁和灵活的方式编写代码。可以把Lambda表达式看作是一种更方便的匿名函数&#xff0c;可以像数据一样传递和使用。 使用Lambda表达式可以让我们写出更短、更易读的代码。…

[28000][1045] Access denied for user ‘ ‘ (using password: YES)

这个错误看了一上午&#xff0c;始终是没找到原因。但是进过不懈尝试还是找到答案。 问题&#xff1a; 问题1&#xff1a;发现host输入的IP与真实连接的地址IP不一致。 问题2&#xff1a;报错如何解决。 答案&#xff1a;因为你的账号和密码输入的不正确&#xff0c;导致去连…

pstree 进程树

pstree -aup a是所有all u是用户user p是pid进程号

python基本概念和基本数据类型

一、基本概念 1.变量 变量是编程语言中最基本的概念&#xff0c;和字面意思一样&#xff0c;指的就是他们的值可变&#xff0c;和我们以前学习的方程类似&#xff0c;变量可以代入任何值。 命名规范&#xff1a;变量一般使用&#xff1a; 英文字母、下划线 和 数字组成 2.关键…

【JSON2WEB】10 基于 Amis 做个登录页面login.html

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

免费原型图设计工具,先收藏这5个!

在当今快速发展的数字世界中&#xff0c;原型图设计工具无疑是设计师不可或缺的工具。高效易用的工具不仅可以使设计过程更加顺畅&#xff0c;还可以有效提高设计质量。在这个竞争激烈的市场中&#xff0c;有许多优秀的免费原型图设计工具可供选择。以下是我们选择的 5 个免费原…

【机器学习-07】逻辑回归(Logistic Regression)的介绍和python实现

Logistic Regression 虽然被称为回归&#xff0c;但其实际上是分类模型&#xff0c;并常用于二分类。主要用来表示某件事情发生的可能性&#xff0c;因此因变量的范围在 0 和 1 之间。Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。例如&#xff0c;探讨引…

进程优先级

文章目录 一、进程优先级二、查看进程优先级以及修改优先级 一、进程优先级 cpu资源少量&#xff0c;只有一个然而在操作系统中存在很多进程&#xff0c;这些进程访问cpu资源时他们相互之间是存在竞争关系。cpu为了保他们之间的公平&#xff0c;也就存在了优先级&#xff01;那…

使用Go语言创建HTTP服务器并展示网页

使用Go语言创建一个简单的服务器时可以先建立一个项目根目录&#xff0c;随后在根目录中建立一个用于存放静态文件&#xff08;HTML/CSS/JavaScript&#xff09;的文件夹 GGboy&#xff0c;接下来输入命令初始化Go模块 go mod init GGboy // 项目名称是 GGboy 在出现 go.mod 文…

32-Java拦截过滤器模式 ( Intercepting Filter )

Java拦截过滤器模式 实现范例 拦截过滤器模式&#xff08;Intercepting Filter Pattern&#xff09;用于对应用程序的请求或响应做一些预处理/后处理定义过滤器&#xff0c;并在把请求传给实际目标应用程序之前应用在请求上过滤器可以做认证/授权/记录日志&#xff0c;或者跟踪…

Codeforces Round 496 (Div. 3)

目录 A. Tanya and Stairways B. Delete from the Left C. Summarize to the Power of Two D. Polycarp and Div 3 E. Median on Segments F. Berland and the Shortest Paths A. Tanya and Stairways 简单性质题 我们找到性质&#xff0c;如果这个数大于等于后面的数就…

网工内推 | 云计算工程师,HCIE认证优先,最高18k*14薪

01 杭州中港科技有限公司 招聘岗位&#xff1a;云计算工程师 职责描述&#xff1a; 1、承担云计算相关工程交付、业务上云及售前测试&#xff0c;从事虚拟化、桌面云、存储、服务器、数据中心、大数据、相关产品的工程项目交付或协助项目交付。 2、承担云计算维护工程师职责&…

mac安装rust开发环境,使用brew安装和全局配置

mac下使用brew可以一键安装环境&#xff1a; brew install rustup 安装完成执行&#xff1a; rustup-init 按照提示配置即可&#xff1a; 出现&#xff1a; 想要全局生效&#xff1a; echo export PATH"$HOME/.cargo/bin:$PATH" >> ~/.bash_profile source…

代码随想录算法训练营第day53|1143.最长公共子序列 、 1035.不相交的线、 53. 最大子序和 动态规划

目录 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 1143.最长公共子序列 力扣题目链接(opens new window) 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原…

Windows 设置多显示器显示

Windows 设置多显示器显示 1. Windows 7 设置 HDMI 输出2. Windows 11 设置多显示器显示References 1. Windows 7 设置 HDMI 输出 2. Windows 11 设置多显示器显示 ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

深度学习_20_卷积中的填充与步幅

如果图片本身比较小&#xff0c;卷积之后输出也会很小&#xff0c;那么可以在图片与卷积核相乘之前先填充一下&#xff0c;让输出为预期大小 一般填充后输入&#xff0c;输出相同 当图片比较大的时候&#xff0c;如果利用卷积核去得到我们想要的大小的话&#xff0c;得用到多层…

javaSwing日记管理系统

一、简介 使用 Java Swing 开发日记管理系统 在今天的博客中&#xff0c;我将向您介绍如何使用 Java Swing 开发一个简单而功能强大的日记管理系统。这个系统将具有登录、注册、找回密码、写日志以及切换主题等功能。我们将使用 MySQL 数据库来存储用户信息和日记内容。 二、…

ShardingSphere+JPA+Druid实现分表操作

要在SpringBoot项目中实现分表操作&#xff0c;本文使用的是ShardingSphereJPADruid实现。过程中出现问题记录一下。 准备MySQL数据库表 这里准备的是一张主表test_cost&#xff0c;两张从表test_cost_0和test_cost_1&#xff0c;结构需要相同&#xff0c;主表只是声明了表结构…