前端进阶之———浏览器调试巧技

这篇具有很好参考价值的文章主要介绍了前端进阶之———浏览器调试巧技。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        有幸的参加了一次腾讯的面试,被面试官问到了JS能不能在浏览器上import依赖已经遇到一个错误函数应该怎么解决。之前的经验是做一些简单的html,css样式调试以及他的报错信息,忽略了浏览器js调试的强大功能。觉得还是非常有必要的,很好的帮助我们以解决后开发的时候遇到复杂的问题,下面就开始系统的学习一下。

浏览器调试简介

  • F12:打开浏览器调试模式
  • ctr+shift+p:打开命令菜单
  1. 例如blacks:可以切换DevTools背景颜色
  2. screenshot:截屏(有几种选择,根据需求选择整个窗口、截取和)
  3. dock:切换调试窗口的位置、undock调试界面变成独立的窗口
  • 常用的tab
  1. element:比较常用了,hover常驻、 copy styles、观察flex布局,观察网格布局、绑定事件
  2. console:快捷键(ctr+shift+J)、执行语句,$_返回上一条语句的执行结果,$0上一个选择选择DOM节点($1,$2...)、console.log(error warn table clear group time assert trace)、log级别筛选。
  • JS调试
  1. debuger调试
  • netWork

缓存、har文件

  • application

存储键值对、localstorage、sessionstorage、cookie。

JS调试

        css debug平时用的可能稍微多一点,记得上次面试官还问到了控制台上可不可以直接impoort JS文件,答案是可以的,包括对缓存进行查看和修改都是可以的。下面主要是想学习一下JS debug,深度掌握一下小技巧,为开发积累一些经验吗,相信会给开发的整个过程提升不少效率。下面是以我的项目中的一个小功能为示例,来看看怎么给他进行JS调试:

        有三种调试的方式:

  1. debugger
  2. DOM Breakpoints(break on)
  3.  Event Listener Breakpoint,框架:Call Stack(Add script to ignore list)
  • 下面是项目其中的一个页面,关于表格的复杂逻辑处理,我们需要调试自动调整的JS

        前端进阶之———浏览器调试巧技,面试,==========前端=========,前端

  • 下面是sources的界面,在开发阶段,通常webpack、vue cli将.vue文件转化为JS代码,并通过render或Vue模板编译器进行渲染。 前端进阶之———浏览器调试巧技,面试,==========前端=========,前端
  •  webpack://是Webpack构建工具生成的虚拟文件系统路径,用于在浏览器的开发者工具中查看和调试源码,这里点击的页面是index.vue

    前端进阶之———浏览器调试巧技,面试,==========前端=========,前端   

debugger

  • 给自动调整按钮添加debugger,在自动调整之前去设置一个断点。

前端进阶之———浏览器调试巧技,面试,==========前端=========,前端

  •  执行到断点的时候自动停止代码的执行,通过调试器查看代码执行流程,检查报错信息或者查看封装的函数执行流程帮助找出代码错误。

前端进阶之———浏览器调试巧技,面试,==========前端=========,前端

 DOM Breakpoints(break on)

  • DOM断点(DOM breakpoints)是浏览器开发者工具中的一项功能,可以直接在DOM上设置断点,一旦代码执行到对应的DOM代码执行就会中断供给开发者调试。

前端进阶之———浏览器调试巧技,面试,==========前端=========,前端

  Event Listener Breakpoint

  • 通过Event Listener Breakpoint事件监听的方式来给事件打断点,遇到勾选的对应的事件的时候代码中断执行。
  • "Call Stack"(调用栈),它是用于显示当前代码执行路径的工具。"Call Stack"选项卡中,你可以看到当前代码的调用路径,即哪些函数或方法被调用,并且可以点击每个调用栈帧来查看相应的代码。Add script to ignore list可以选择跳过无错误的方法来找目标函数的错误。

前端进阶之———浏览器调试巧技,面试,==========前端=========,前端

总结

        JS调试,可以通过在控制台上去打断点并设置watch的值来动态监听值的变化可以很好的减少console的使用来达到很好的调试效果。同时解决因为有的表格数据量多,console的方式不会触发垃圾回收机制,导致内存泄漏页面卡段的问题。

        控制台,也可以通过在浏览器控制台使用console.log或者import JS,直接输入和执行JavaScript代码。对于测试和调试一小段代码非常有用,也可以进行网络请求等帮助定位和解决问题。

         现代浏览器支持在JavaScript中使用`import`语句来导入依赖项。这是由JavaScript的模块化规范(ES模块)引入的一项功能。
要在浏览器中使用`import`语句导入依赖项,你需要做以下几个步骤:
1. 将脚本标记为模块:确保你的JavaScript文件被标记为模块。在HTML中使用`<script type="module">`标签来加载文件。例如:

<script type="module" src="your-script.js"></script>


2. 导出模块的功能:在你想要导出的模块中,使用`export`关键字将功能导出。例如:

// 导出一个函数
export function myFunction() {
  // ...
}
// 导出一个变量
export const myVariable = 42;
```


3. 导入依赖项:在需要使用依赖项的地方,使用`import`语句导入所需的模块。例如:

import { myFunction, myVariable } from './other-module.js';
// 使用导入的函数和变量
myFunction();
console.log(myVariable);


请注意,使用`import`语句导入依赖项只适用于支持ES模块的现代浏览器。如果你的目标浏览器不支持ES模块,你需要使用构建工具(如Webpack、Babel等)将代码转换为兼容的格式。
另外,需要注意的是,模块的加载遵循同源策略,因此导入的模块必须与当前模块位于同一个源(域名、协议和端口号)。如果你需要加载来自不同源的模块,你可以使用CORS(跨域资源共享)或服务器端代理来处理。文章来源地址https://www.toymoban.com/news/detail-686403.html

参考链接:

  1. 【【浏览器调试工具精讲】Chrome Dev Tools精讲,前端必看!】 https://www.bilibili.com/video/BV1KM4y1G7EF/?share_source=copy_web&vd_source=118accae3f5a3f39ebd530551ef6e598

到了这里,关于前端进阶之———浏览器调试巧技的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端浏览器缓存知识梳理,前端工程师面试题目和答案

    所谓浏览器缓存其实就是指在本地使用的计算机中开辟一个内存区,同时也开辟一个硬盘区作为数据传输的缓冲区,然后用这个缓冲区来暂时保存用户以前访问过的信息。 浏览器缓存过程:  强缓存,协商缓存。 浏览器缓存位置一般分为四类:  Service Worker–Memory Cache–Di

    2024年04月15日
    浏览(39)
  • 前端面试:【浏览器与渲染引擎】工作原理与渲染流程

    嗨,亲爱的读者!你是否曾经好奇过当你在浏览器中输入URL并按下回车时,网页是如何显示在你的屏幕上的?这背后涉及了复杂的浏览器工作原理和渲染流程。本文将带你深入了解浏览器如何工作以及网页如何被渲染出来。 1. 浏览器的工作原理: 当你输入URL并按下回车时,

    2024年02月11日
    浏览(42)
  • 前端vue调试工具:chrome浏览器vue-devtools安装方式详述

    vue-devtools官方文档,也可按照官方文档操作 下面将介绍chrome集成vue-devtools的两种方式 通过扩展-扩展程序-访问chrome应用商店输入vue-devtools搜索插件即可 下载源码选择对应的版本tag官方源码 我们这里选择最新版本v6.5.1 下载压缩包,或clone都可以*( 克隆命令: 安装依赖以及打

    2024年03月15日
    浏览(50)
  • 【学姐面试宝典】—— 前端基础篇Ⅱ(HTTP/HTML/浏览器)

    前言 博主主页👉🏻蜡笔雏田学代码 专栏链接👉🏻【前端面试专栏】 今天继续学习前端面试题相关的知识! 感兴趣的小伙伴一起来看看吧~🤞 作用是 Doctype 声明于文档最前面,告诉浏览器以何种方式来渲染页面。 这里有两种模式, 严格模式 和 混杂模式 。 严格模式的排

    2024年01月25日
    浏览(38)
  • 【学姐面试宝典】—— 前端基础篇Ⅰ(HTTP/HTML/浏览器)

    前言 博主主页👉🏻蜡笔雏田学代码 专栏链接👉🏻【前端面试专栏】 今天开始学习前端面试题相关的知识! 感兴趣的小伙伴一起来看看吧~🤞 http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服 务器端请求和应答的标准(TCP),用于从 WW

    2024年02月19日
    浏览(27)
  • 实现微信内置浏览器分享功能(前期准备+VUE前端部分代码+调试+坑记录)

    一、基础准备 1、登录微信公众号(需已认证),找到[【设置与开发】[【公众号设置】【功能设置】【js接口安全域名],在下面填写你的域名。 2、在【设置与开发】【基本配置】中拿到 appid开发者密码 appSecret ,给后端用生成签名时用到。 二、前端代码部分 1、下载微信sdk 2、

    2024年04月17日
    浏览(28)
  • 前端面试的话术集锦第 7 篇:高频考点(浏览器渲染原理 & 安全防范)

    这是记录 前端面试的话术集锦第七篇博文——高频考点(浏览器渲染原理 安全防范) ,我会不断更新该博文。❗❗❗ 注意:该章节都是⼀个⾯试题。 1.1.1 浏览器接收到HTML⽂件并转换为DOM树 当我们打开⼀个⽹⻚时,浏览器都会去请求对应的 HTML ⽂件。虽然平时我们写代码时

    2024年02月03日
    浏览(41)
  • 前端高频面试题 js中堆和栈的区别和浏览器的垃圾回收机制

    栈(stack) :是栈内存的简称,栈是自动分配相对固定大小的内存空间,并由系统自动释放,栈数据结构遵循FILO(first in last out)先进后出的原则,较为经典的就是乒乓球盒结构,先放进去的乒乓球只能最后取出来。 堆(heap) :是堆内存的简称,堆是动态分配内存,内存大小不固

    2024年02月11日
    浏览(29)
  • 前端面试:【浏览器与渲染引擎】Web APIs - DOM、XHR、Fetch、Canvas

    嗨,亲爱的读者!当我们在浏览器中浏览网页时,我们常常会与各种Web API打交道。这些API允许我们与网页内容、服务器资源和图形进行交互。本文将深入探讨一些常见的Web API,包括DOM、XHR、Fetch和Canvas,以帮助你了解它们的用途和如何使用它们。 1. DOM(文档对象模型): 用

    2024年02月11日
    浏览(30)
  • 前端面试题-(浏览器内核,CSS选择器优先级,盒子模型,CSS硬件加速,CSS扩展)

    内核 描述 Trident(IE内核) 主要用在window系统中的IE浏览器中,由微软研发并投入使用 Gecko(Firefox内核) 主要用于Firefox浏览器中,特点是代码完全公开,开发程度高 Webkit(Safari内核) 苹果产品中的safari浏览器使用的就是webkit内核,其特点是不受ie,firefox等内核的约束,比较安全。

    2024年01月25日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包