2024前端调试技巧_前端移动端遇到的问题怎么解决2024

  • f: Deactive/Active all breakpoints:关闭/开启所有断点。

  • g: Pause on exceptions:异常情况自动断点设置。

此时,我们在 Scope 面板中可以看到该作用域下变量和函数的信息(鼠标悬浮在对应的变量上也可以看到)方便我们排查问题。

  • 手动断点
    打开开发者工具的 source 面板,在左侧目录树中找到对应的JS文件,在右侧对应文件的行号上单击即可实现断点的添加和删除。在添加断点之后,代码就会在断点处停止执行。

事件断点

在上图中点击 Event Listener Breakpoints ,然后选择我们需要监听的事件。之后当该事件被触发时,浏览器会帮我们自动在相应的js文件代码处打上断点。举个例子:我想在百度首页输入框中输入时,进行断点调试,就可以使用该功能。

请求断点

在上图中点击 XHR/fetch breakpoints ,然后添加对应的请求URL,之后当该请求发送的时候,就会自动断点。还是用百度举例:添加一个请求URL断点,然后刷新页面。

Dom 断点

我们还可以对指定的 dom 节点进行断点设置,根据设置类型的不同,浏览器会在 dom 节点属性变化,子树变化,节点被移除三个时机帮我们进行断点。还是用百度举例:在指定 dom 节点上右击,选择 Break on ,选择对应的时机进行设置

  • 动画调试

工作中肯定会遇到调试动画的场景,为了调试动画,经常一遍又一遍的刷新页面,其实大可不必,有更简单的办法。

  1. 打开开发者面板,开启命令行(Mac: Command+Shift+P ,Windows:Control+Shift+P )

输入 Animations ,选择 Show Animations,打开动画检查器

之后在页面发生的动画都会被其捕获,我们就可以在动画检查器中调试动画了

区域1:控制动画的速度和播放;

区域2:捕获的页面动画;

区域3:动画的时间线;

区域4:动画的实现细节;

我们可以很方便的在这里将动画调试到满意的程度,然后复制对应的动画属性参数到代码中。

移动端H5调试

移动端H5本地调试和PC调试完全一样,我们在此讨论的是在webview中如何调试。

  • vConsole

移动端H5页面运行在App的 webview 内,没有开发者工具可以让我们方便的调试(比如查看log,抓网络请求,查看cookie,Ua等等);因此 vConsole 等这类调试工具就产生了,让我们的调试变得方便了很多。

  • 手机连接电脑

有了vConsole这类调试工具以后,基本上能解决大部分调试问题了。但还是存在一些情况,我们必须进行真机调试。比如在部分机型上页面直接白屏,vConsole还没有进行加载等等

大致步骤如下:

1: 手机连接电脑2: 手机打开开发者选项,允许USB调试3: 电脑打开 chrome://inspect4: 手机打开App内的H5页面5: 此时电脑端 chrome://inspect 页面会出现手机端页面的信息,点击 inspect 打开开发者面板即可复制代码
  • 模拟器

实际工作中经常会出现用户的机型页面有问题,而我们因为各种原因并没有该用户对应的机型,这个时候模拟器就派上用场了。

node调试

Node 调试工具入门教程 推荐一下阮老师的文章,简单易懂。

简单说就是 node --inspect-brk xxx.js + chrome://inspect 。

举个例子,比如我想在 vue.config.js 中设置 cacheGroups,然后写了对应的正则或者 test 函数,但是打包之后的产物不符合预期,我想知道是哪里出了问题,此时就得调试打断点。

1. node --inspect-brk node_modules/.bin/vue-cli-service build

2. 打开浏览器,输入chrome://inspect  找到对应的target,然后inspect3. 在vue.config.js 设置断点,进行问题排查
复制代码
vscode调试

node

我们会发现上面调试node还是有点麻烦的,但是如果在编辑器中调试就很简单了。

数据结构与算法

这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。

  • 二叉树层序遍历
  • B 树的特性,B 树和 B+树的区别
  • 尾递归
  • 如何写一个大数阶乘?递归的方法会出现什么问题?
  • 把多维数组变成一维数组的方法
  • 知道的排序算法 说一下冒泡快排的原理
  • Heap 排序方法的原理?复杂度?
  • 几种常见的排序算法,手写
  • 数组的去重,尽可能写出多个方法
  • 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
  • 知道数据结构里面的常见的数据结构
  • 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
  • 合并两个有序数组
  • 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)

如果有一个大的数组,都是整型,怎么找出最大的前 10 个数

  • 知道数据结构里面的常见的数据结构
  • 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
  • 合并两个有序数组
  • 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)

[外链图片转存中…(img-mTpOjZu5-1714236632937)]

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值