前端开发调试技巧

news2024/11/27 18:48:04

1、alert弹框调试

正对js代码的调试,我们往往需要获取某些变量的值,于是在早期我们往往通过alert方法将变量的值通过弹窗的形式进行打印。

<script>
    alert('测试弹框')
</script>

请添加图片描述

2、console控制台打印

alert方法对于我们来说或许仍然比较繁琐:每次alert某条信息都需要弹窗,弹窗都会使得我们对页面中的其他区域的操作无效化。
那么,为了能够更方便地调试,各浏览器厂商在相应浏览器中都添加了成为“控制台”的功能,用于调试和查看错误等。以下以Chrome中开发者工具中的“控制台”为例。

var a = 123
console.log(a)
var a = {a:1,b:2}
console.log(a) 

在这里插入图片描述
console还有很多方法,如console.info(),console.table(),console.warn()等,参考console

同样,在这里也是可以书写js代码的,不确定的话,可以在写好测试好在直接code进源代码中;
在这里插入图片描述

3、控制台发送请求

(1)重复发送请求

如图所示,我们只需要在你想再次发送的网络请求上右键,然后选择“Replay XHR”即可,Chrome就会自动为我们再次发送该请求,无需做其他的任务操作。
请添加图片描述

(2)控制台发送请求

这一点是基于上一点的补充,有时候后端不仅会让我们重复发送请求,还会要求我们修改请求的参数,这可怎么办?

不要着急。Chrome同样也想到了这一点,并且还可以让我们自由的去设计请求参数。
请添加图片描述
首先同样的在你需要重复发送的请求上右键,然后选择Copy—Copy as fetch,接下来我们只需要打开控制台,然后使用我们最熟悉的Ctrl + V
请添加图片描述
这里不管是body参数还是query参数都可以随我们自己的要求去随意更改,更改完成按下回车即可.

在这里插入图片描述

但是一般因为项目的封装处理,我们得到的会是一个Promise对象,所以还需要做下处理才能得到我们想要的结果。

(3)$ _

举个例子,需求需要你对字符串转化成数组,然后再对这个数组进行处理,然后再转化回字符串,中间你想看下每一步的处理结果,那么 可 以 帮 助 我 们 达 到 这 个 效 果 。 而 _可以帮助我们达到这个效果。 而 _的作用就是引用上一步的操作结果,而不需要从头开始调用。
请添加图片描述

4、debugger断点

在代码中添加debugger来给代码设置断点,当打开开发者工具代码执行到该语句的时候就会自动断点,也可以在开发者工具栏中Sources面板添加断点调试。
在这里插入图片描述
(1)(三角形)debug执行键,快捷键:F8
暂停/恢复脚本执行(程序执行到下一断点停止)
(2)(半弧箭头)step 快捷键:F9
执行到下一步的函数调用(跳到下一行)
(3)(下箭头)step into 快捷键:F11
进入当前函数,遇到子函数就进去继续单步执行
(4)(上箭头)step over 快捷键:F10
跳出当前执行函数,遇到子函数并不进去,将子函数执行完并将其作为一个单步
(5) 跳到下一条执行语句
(6)(右粗箭头,点击一下多一个斜线,再次点击就取消了)
关闭/开启所有断点(不会取消)
(7)异常情况自动断点设置,浏览器会在程序发生异常的那一行设置断点,即当程序会在异常发生处暂停;
(8)Watch:在调试画面需要查询返回值或者参数详细信息的时候,可以选中相应的部分单击鼠标右键,再点击Add selected text to watches ,即可在这里看到我们选中部分的详细信息;
(9)Scope Variables作用域变量变化跟踪
(10) Breakpoints指在Source中手动打断点的文件中js断点列表
(11) DOM Breakpoints指DOM断点列表
(12) XHR Breakpoints指跨域断点列表
(13) Event LIstener Breakpoints指事件监听断点列表
(14) Call Stack指调用栈,当遇到断点时显示当前断点所处的方法调用栈

5、Eruda

是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、捕获XHR请求、显示本地存储和 Cookie 信息等等。

<script async src="https://cdn.bootcss.com/eruda/1.5.8/eruda.min.js"></script>

或者

<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script type="text/javascript">
    eruda.init();
</script>

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

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

相关文章

专题·AC自动机

初见安——&#xff01;&#xff01;这里是咕咕咕好久好久的樱狸QvQ 考完初赛了 有一点点的空闲时间 来整理一下博客【因为发现忘性很大……超过一个月没用的东西就记不住了QAQ 前置知识&#xff1a;KMP&#xff0c;tire树。 一、AC自动机 其实AC自动机就是在tire树上KMP。 …

点击化学PEG试剂DBCO-PEG4-NHS,1427004-19-0知识特点总结

一、描述&#xff1a; DBCO-PEG4-NHS酯是一种含有NHS酯的点击化学PEG试剂&#xff0c;能够在中性或稍碱性条件下与伯胺&#xff08;例如赖氨酸残基的侧链或氨基硅烷涂层表面&#xff09;特异有效地反应&#xff0c;形成共价键。亲水性PEG间隔臂提高了水溶性&#xff0c;并提供了…

ConcurrentHashMap

我们说ConcurrentHashMap是用在多并发环境下的HashMap JDK1.7 segment数组HashEntry数组链表&#xff08;即两个数组挂一个链表&#xff09; 上锁的时候锁的是segment数组&#xff0c;采用分段锁&#xff0c;每一把锁只锁一个Segment&#xff0c;默认是这个数组大小为16&…

【D3.js】1.13-动态设置每个 Bar 的坐标

title: 【D3.js】1.13-动态设置每个 Bar 的坐标 date: 2022-12-01 16:33 tags: [JavaScript,CSS,HTML,D3.js,SVG] 虽然创建了多个rect&#xff0c;但是都重叠在一起&#xff0c;如何将他们分列开来呢&#xff1f; 一、学习目标 使用回调函数动态设置坐标 .attr(“x”,(d,i)>…

laravel vue tailwind

下载laravel最新7.x composer create-project --prefer-dist laravel/laravle blog 7.x-dev cd blog valet link blog valet links blog.test 测试通过后&#xff0c;开始安装tailwind npm i npm i tailwindcss autoprefixer postcss7 都是最新版应该也没有什么问题 在根目录下…

UE的Blend Profile

参考&#xff1a;Animation Blend Profile in Unity 参考&#xff1a;Unreal Engine - How to make a Blend Profile 参考&#xff1a;blend-masks-and-blend-profiles-in-unreal-engine 什么是Blend Profile Animation Blend Profile is a UE4 animation system feature that …

aws eks 使用keycloak集成eks oidc访问apiserver

资料 OpenID Connect Tokens Kubernetes 与 OpenID 集成 SSO 登录测试 Introducing OIDC identity provider authentication for Amazon EKS Understanding Amazon Cognito user pool OAuth 2.0 grants 在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证 深…

Koa2基础笔记

目录 一、快速入门 二、中间件 链式调用 洋葱圈模型 异步处理 三、路由 koa-router 四、请求参数解析 处理URL参数 处理body参数 五、错误处理 原生的错误处理 使用中间件 一、快速入门 新建文件夹使用VSCode打开&#xff0c;终端运行npm init -y生成package.json…

[附源码]计算机毕业设计springboot水果管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

冬季寒冷,普通空调如何做到智能控制,增温又降耗的?

寒冷的冬日总少不得取暖的工具&#xff0c;空调成为人们的优先选择。但是&#xff0c;在办公大楼、商场等需要长时间空调供暖&#xff0c;空调又多的地方&#xff0c;空调控制让不少人感觉到了困扰。上下班时间空调多&#xff0c;检查慢&#xff0c;如果漏掉其中一个&#xff0…

C++——类和对象讲解

C——类和对象讲解总览 本篇文章的讲解将按照上述的方式&#xff0c;逐层递进&#xff0c;进一步帮你拿捏C类和对象这部分。 类和对象上&#xff08;基础篇&#xff09; 1、初识面向对象编程&#xff1a; 初步了解面向过程和面向对象的区别 举个比较感人的例子用来帮助铁子…

Qt视频监控系统一个诡异问题的解决思路(做梦都想不到)

一、前言 由于Qt版本众多&#xff0c;几百个版本之间存在不兼容的情况&#xff0c;为此如果要兼容很多版本&#xff0c;没有取巧的办法和特殊的捷径&#xff0c;必须自己亲自安装各个版本编译运行并测试&#xff0c;大问题一般不会有&#xff0c;除非缺少模块&#xff0c;小问…

健壮性测试是什么?

当大多数人开车时&#xff0c;他们不会担心刹车失灵。当他们的孩子得到一个新玩具时&#xff0c;他们也不担心因故障受伤。事实上&#xff0c;大多数人在日常生活中根本不担心系统故障。 这是因为软件开发人员或质量控制工程师已经解决了质量问题。如果目标是交付高质量、可靠…

基础:html5、html、htm、xhtml、dhtml、shtml、shtm、xml、xsl、xslt

一、理解 1.1、HTML5&#xff08; HyperText Markup Language 5 &#xff09; HTML5_百度百科 HTML5 技术结合了 HTML4.01 的相关标准并革新&#xff0c;符合现代网络发展要求&#xff0c;在 2008 年正式发布。HTML5 由不同的技术构成&#xff0c;其在互联网中得到了非常广泛…

TCP/IP五层协议栈(2)

1.传输层协议(TCP传输的机制补充) 1.1.滑动窗口 滑动窗口存在的意义就是在保证可靠性的前提下,尽量提高传输效率. 由于TCP是得保证可靠传输的,所以每一次数据发送时都需要等待对方的ACK.大部分时间都用在等ACK上,而确认应答是可靠传输的主要机制又不能不等.所以有了新的机制…

JavaScript -- 多种类型转换方法总结

文章目录类型转换1 转换为字符串2 转换为数值3 转换为布尔值4 总结类型转换 类型转换指将一种数据类型转换为其他类型 类型转换是根据当前值去创建另一个值&#xff0c;而不是将当前值直接进行转换 这里说到的转换都是显示类型转换&#xff0c;除此之外还有隐式类型转换 1 转…

MnTTS: 开源蒙古语语音合成数据集及其基线模型

本次分享内蒙古大学蒙古文信息处理重点实验室、蒙古文智能信息处理技术国家地方联合工程研究中心及语音理解与生成实验室 (S2LAB) &#xff08;https://ttslr.github.io/index_S2Group.html&#xff09;共同发布的开源蒙古语语音合成数据集及其基线模型。相关论文《MnTTS: An O…

BI业务用户商业分析新时代,如何把数据用透?

数字化转型进入实质性阶段&#xff0c;企业对于数据的需求也随之加深。然而&#xff0c;一些企业积累了大量数据&#xff0c;却难以深度释放数据价值。 近几年&#xff0c;作为数据应用的有力工具&#xff0c;BI商业智能分析平台同样进入了转折期&#xff0c;其发展趋势明显呈…

Nacos后台系统未授权添加管理员

一&#xff1a;什么是nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中…

爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术

在 2022 云栖大会龙蜥峰会云原生专场上&#xff0c;来自爱奇艺的基础架构研究员赵慰分享了《基于龙蜥与 Koordinator 的在离线混部实践》技术演讲&#xff0c;以下为本次演讲内容&#xff1a; 一、爱奇艺离线业务混部背景 与众多互联网公司一样&#xff0c;爱奇艺常见的负载…