[JavaScript] 第三章 Chrome 浏览器中执行 JavaScript

news2025/2/3 12:46:02

系列文章目录

[JavaScript] 第一章 暂无
[JavaScript] 第一章 暂无
[JavaScript] 第三章 Chrome 浏览器中执行 JavaScript

在这里插入图片描述


文章目录

  • 系列文章目录
  • 前言
  • 1、准备工作
    • 1.1、创建html工程
    • 1.2、创建html文件夹,存放html文件
    • 1.3、创建JavaScript演示html
    • 1.4、通过idea打开页面
  • 2、在浏览器上调试
    • 2.1、进入调试模式
      • 2.1.1、进入开发者工具页面
      • 2.1.2、打开【源代码】选项卡,并选中我们要调试的html文件
    • 2.2、设置断点(Setting Breakpoints)
      • 2.2.1、修改hello方法,增加name变量,设置这里为断点
      • 2.2.2、页面上设置断点
      • 2.2.3、单击页面上的按钮,触发hello方法,让程序跳转到断点
    • 2.3、单步执行(Stepping Through Code)
      • 2.3.1、进入到断点,光标打在第10行
      • 2.3.2、选中【单步执行】,此时程序跳转到页面第11行(此时光标会打到第11行,且第10行信息已执行完毕)
      • 2.3.3、查看控制台打印结果
    • 2.4、监视变量(Monitoring Variables)
      • 2.4.1、修改变量值
      • 2.4.2、运行到修改的代码,多次点击【单步执行】,让程序走到第14行
      • 2.4.3、继续点击【单步执行】,查看控制台结果
    • 2.5、控制台调试(Console Debugging)
      • 2.5.1、在程序调试运行在11行时,在控制台检查name变量值
      • 2.5.2、在程序调试运行在14行时,在控制台检查name变量值


前言

在Chrome浏览器中,可以使用开发者工具的调试功能来调试和执行JavaScript代码。以下是一些常用的调试技巧:设置断点、单步执行、监视变量、控制台调试、异常处理。

这只是一些Chrome浏览器调试功能的例子。要打开开发者工具并访问调试功能,你可以按下Ctrl + Shift + J(Windows / Linux)或Command + Option + J(Mac),或者在浏览器菜单中选择"更多工具" > “开发者工具”,或者在页面上点击鼠标右键选中【检查】。在开发者工具的面板中,切换到"Sources"(或"代码")选项卡,即可访问调试功能。
在这里插入图片描述

在调试过程中,你可以在断点位置暂停代码执行、单步执行、检查变量值等。这有助于理解代码的执行流程和调试潜在的问题。

1、准备工作

1.1、创建html工程

使用Idea创建一个空工程 或者 其他编译器(vs , sublime , webStome)

1.2、创建html文件夹,存放html文件

在这里插入图片描述

1.3、创建JavaScript演示html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript页面演示</title>
    <script>
        //hello 方法
        function hello() {
            console.log("hello , world!")
        }
    </script>
</head>
<body>
<!-- 定义一个按钮,单击鼠标左键触发 hello()方法 -->
<input type="button" value="确定" onclick="hello()" >
</body>
</html>

1.4、通过idea打开页面

在这里插入图片描述
在这里插入图片描述

2、在浏览器上调试

2.1、进入调试模式

要打开开发者工具并访问调试功能,你可以按下Ctrl + Shift + J(Windows / Linux)或Command + Option + J(Mac),或者在浏览器菜单中选择"更多工具" > “开发者工具”,或者在页面上点击鼠标右键选中【检查】。在开发者工具的面板中,切换到"Sources"(或"代码")选项卡,即可访问调试功能。

2.1.1、进入开发者工具页面

在这里插入图片描述

2.1.2、打开【源代码】选项卡,并选中我们要调试的html文件

在这里插入图片描述

2.2、设置断点(Setting Breakpoints)

在你希望暂停执行的代码行上设置断点。你可以单击源代码面板中的行号,或在代码中使用debugger语句来设置断点。当代码执行到断点时,浏览器会暂停执行,你可以检查变量的值、调用堆栈等。

2.2.1、修改hello方法,增加name变量,设置这里为断点

 //hello 方法
  function hello() {
      var name = 'zhangsan';
      console.log("hello , " + name + "!")
  }

2.2.2、页面上设置断点

在这里插入图片描述

2.2.3、单击页面上的按钮,触发hello方法,让程序跳转到断点

跳转到断点(页面第10行)后,当前页面进入调试阶段,并且暂停在我们设置的断点处
可以看到右边调用堆栈信息:正在执行的hello方法,以及onclick事件
可以看到右边本地:this,name(此时为undefined,未声明未赋值)
在这里插入图片描述

2.3、单步执行(Stepping Through Code)

在调试过程中,你可以使用调试工具的单步执行功能逐行执行代码。这包括单步进入函数、单步跳出函数、单步跳过函数等选项。这样可以逐步查看代码的执行情况,帮助你理解代码逻辑和发现问题。

2.3.1、进入到断点,光标打在第10行

在这里插入图片描述

2.3.2、选中【单步执行】,此时程序跳转到页面第11行(此时光标会打到第11行,且第10行信息已执行完毕)

可以看到右边调用堆栈信息:正在执行的hello方法,以及onclick事件
可以看到右边本地:this,name(此时为“zhangsan”,已声明且赋值)
在这里插入图片描述

2.3.3、查看控制台打印结果

在这里插入图片描述

2.4、监视变量(Monitoring Variables)

你可以在调试过程中监视变量的值。在断点处或代码执行时,可以查看和修改变量的值,以便检查代码中的数据问题。

2.4.1、修改变量值

使name变量的值,更改一次

 //hello 方法
function hello() {
    var name = 'zhangsan';
    console.log("hello , " + name + "!")

    name = 'lisi'
    console.log("hello , " + name + "!")
}

2.4.2、运行到修改的代码,多次点击【单步执行】,让程序走到第14行

可以看到右边本地:this,name(此时为“lisi”,值从【zhangsan】变为【lisi】)
在这里插入图片描述

2.4.3、继续点击【单步执行】,查看控制台结果

在这里插入图片描述

2.5、控制台调试(Console Debugging)

在控制台中,你可以执行JavaScript代码片段,检查变量值、调用函数等。这对于在调试过程中进行一些临时测试和调试非断点位置的代码非常有用。

2.5.1、在程序调试运行在11行时,在控制台检查name变量值

在这里插入图片描述

2.5.2、在程序调试运行在14行时,在控制台检查name变量值

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity打包窗口化放大、缩小、拖拽功能、无边框设置 C#

Unity打包Windows窗口实现放大、缩小、拖拽、无边框 文章目录 Unity打包Windows窗口实现放大、缩小、拖拽、无边框前言一、引入 user32.dll二、使用步骤1.引入库2.功能封装3.效果图如下&#xff0c;绑定自定义按钮 总结 前言 Unity无边框设置、窗口化放大、缩小、拖拽 提示&am…

蓝牙耳机选购攻略:开放式耳机篇!如何选购开放式耳机?开放式蓝牙耳机哪些品牌比较好?过来人告诉你如何选购开放式耳机!

作为一个耳机爱好者&#xff0c;最近更是喜欢上了开放式蓝牙耳机&#xff0c;实际用过的起码有十几款&#xff0c;但其实最终能留下来的也只有四五款。由于前期并不知道应该如何选择开放式耳机&#xff0c;经常都会高价买到些质量差、音质也不好、漏音大的开放式耳机&#xff0…

DKN和KGC阅读

1. DKN 作者将外部知识图包含的知识融入新闻嵌入。 &#xff08;1&#xff09;将新闻标题单词词嵌入&#xff0c;单词链接的实体嵌入&#xff0c;以及实体的上下文嵌入(邻居实体嵌入的平均)建模为CNN输入的三个通道。 &#xff08;2&#xff09;然后使用KCNN模型&#xff0c…

排序【数据结构】

1、排序的概念 排序&#xff1a; 所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。稳定性&#xff1a; 假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序…

一个月学通Python(十九):Cookie和Session是什么(Web开发)

专栏介绍 结合自身经验和内部资料总结的Python教程&#xff0c;每天3章&#xff0c;1个月就能全方位的完成Python的学习并进行实战开发&#xff0c;学完了定能成为大佬&#xff01;加油吧&#xff01;卷起来&#xff01; 全部文章请访问专栏&#xff1a;《Python全栈教程&…

C++:这门语言优势在哪?命名空间以及缺省参数?

文章目录 C的优势解决命名空间的问题 缺省参数 C的优势 C和C语言比起来有许多优势&#xff0c;这里我们先举一个例子&#xff0c;后续进行补充 解决命名空间的问题 首先看这样的代码&#xff1a; #include <stdlib.h> #include <stdio.h>int rand 0;int main(…

k8s服务发现之第二弹Service详解

创建 Service Kubernetes Servies 是一个 RESTFul 接口对象&#xff0c;可通过 yaml 文件创建。 例如&#xff0c;假设您有一组 Pod&#xff1a; 每个 Pod 都监听 9376 TCP 端口每个 Pod 都有标签 appMyApp apiVersion: v1 kind: Service metadata:name: my-service spec:s…

创建users子应用

1.创建&#xff1a;(venv) xxxx>python manage.py startapp users 2.移动到apps里面&#xff1b; 3.在settings里面注册子应用&#xff1b; # 注册子应用 apps/users apps/users/apps name apps.users 这个路径是什么就写什么 INSTALLED_APPS [ # 用[../namage.py st…

架构训练营学习笔记:4-3存储架构模式之分片架构和分区架构

分片架构的本质&#xff1a; 分片架构能提升写性能和存储性能&#xff0c;对应的主备架构的本质是备份&#xff0c;主从架构本质提升读性能。 分片架构的两个关键点&#xff1a;分片规则跟路由规则 分片规则&#xff1a; 选择基数比较大的某个数据键值&#xff0c;让数据均匀…

第七章 集成学习

文章目录 第七章 集成学习7.1个体和集成7.2Boosting和AdaBoost7.3Bagging和随机森林7.3.1Bagging7.3.2随机森林 7.4结合策略7.4.1平均法7.4.2投票法7.4.3学习法 7.6实验&#xff1a;Adaboost 第七章 集成学习 7.1个体和集成 集成学习通过构建并结合多个学习器来完成学习任务&…

TS报错Cannot find module ‘xxx‘ or its corresponding type declarations

最近使用 vite vue3 ts 开发一个文本标注的 web 平台&#xff0c;在项目中使用了一个 js-mark 的 npm 包&#xff0c;但是在 import 导入后出现了 TS 报错&#xff1a;TS2307: Cannot find module js-mark or its corresponding type declarations.、无法解析模块 js-mark 的…

Safe Policy Optimization 复现

复现结果 在 PointGoal1、CarGoal1、Velocity-Walker2d 三个任务上测试了 RCPO&#xff0c;CRPO 以及 Safe-Policy-Optimization 中实现的 CPO&#xff0c;PPO-Lag 算法。 CarGoal PointGoal PointGoal1 和 CarGoal1 任务相对比较困难&#xff0c;在探索初期就很容易违反约束…

Dart语言(01)环境安装基础语法总结

0 说明&#xff1a; 说明&#xff1a;该系列教程主要是为有一定语言基础 C/C的程序员&#xff0c;快速学习一门新语言所采用的方法&#xff0c;属于在C/C基础上扩展新语言只是体系的方式。 1 Dart语言简介 Dart亮相于2011年10月10日至12日在丹麦奥尔胡斯举行的GOTO大会&…

【动手学深度学习】--09.PyTorch神经网络基础

文章目录 PyTorch神经网络基础1.层和块1.1自定义块1.2顺序块1.3在前向传播函数中执行代码 2.参数管理2.1参数访问2.1.1目标参数2.1.2一次性访问所有参数2.1.3从嵌套块收集参数 2.2参数初始化2.2.1内置初始化2.2.2自定义初始化 2.3参数绑定 3.自定义层3.1不带参数的层3.2带参数的…

Python爬虫学习笔记:1688商品详情API 开发API接口文档

1688API接口是阿里巴巴集团推出的一种开放平台&#xff0c;提供了丰富的数据接口、转换工具以及开发资源&#xff0c;为开发者提供了通用的应用接口及大量数据资源&#xff0c;支持开发者在1688上进行商品搜索、订单管理、交易报表及物流等方面的操作。 1688API接口主要包含以…

解密成功之道!加湿制冷设备企业如何借助CRM系统降低经营成本?

如何降低企业经营成本的同时提高效率是加湿制冷设备企业关注的重要问题。在这篇软文中&#xff0c;我们将探讨如何通过CRM系统来实现这一目标。企业可以借助CRM系统提高客户关系管理水平&#xff0c;优化销售流程&#xff0c;提升售后服务&#xff0c;从而降低成本&#xff0c;…

价格监测的作用有哪些

随着品牌的发展&#xff0c;销售渠道也会逐步增多&#xff0c;渠道中的问题也会逐渐显现&#xff0c;比如低价、乱价、窜货、假货&#xff0c;所以品牌一般都会进行控价治理&#xff0c;控价最重要的一步便是价格监测&#xff0c;监测出来的价格高低&#xff0c;能直接反应渠道…

抑郁症缓解方法:从心理到行为,全方位提升生活质量

抑郁症是一种常见的心理疾病&#xff0c;不仅仅是心情低落&#xff0c;它还伴随着一系列的身体和心理症状。在应对抑郁症时&#xff0c;除了积极寻求医学专业人士的帮助之外&#xff0c;以下这些招数也可以帮助你缓解抑郁症。 1.保持规律的生活习惯&#xff1a;抑郁症患者往往会…

小程序地图个性化样式组件要收费了!

地图个性化样式组件 自2023年6月29日0点起&#xff0c;该能力需要先购买再使用。若未购买&#xff0c;届时将无法使用该能力。具体购买方式见付费管理。自2023年6月29日0时起&#xff0c;个性化地图配置界面的入口统一为微信公众平台-付费管理&#xff0c;请从此入口进入&#…

STUN/TURN/ICE

RFC 5389 - Session Traversal Utilities for NAT (STUN) https://www.cnblogs.com/pannengzhi/p/5041546.html https://www.cnblogs.com/pannengzhi/p/5048965.html STUN : Session Traversal Utilities for NAT, 一个协助穿越NAT的工具&#xff0c;运行在UDP和TCP之上。 NA…