面试官:来,给本官讲讲前端页面性能优化及错误处理有哪些?(看你懵不懵)...

news/2024/7/5 14:59:41

题目:提升页面性能的方法有哪些?

  1. 资源压缩合并,减少HTTP请求
  2. 非核心代码异步加载-->异步加载方式 --> 异步加载区别
  3. 利用浏览器缓存 --> 缓存的分类 --> 缓存原理
  4. 使用CDN
  5. 预解析DNS
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//host_name_to_prefetch.com">
复制代码

异步加载方式

  1. 异步加载的方式 1) 动态脚本加载 2)defter 3) async
  2. 异步加载的区别 1)defer是HTML解析完之后才会执行,如果是多个,按照加载的顺序依次执行 2)async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关

浏览器缓存分类

强缓存

Expires Expires: Thu,21 Jan 2018 15:55:55 GMT Cache-Control Cache-Control:max-age = 3600

直白点的方式描述下:客户端第一次问服务器要某个资源时,服务器丢还给客户端所请求的这个资源同时,告诉客户端将这个资源保存在本地,并且在未来的某个时点之前如果还需要这个资源,直接从本地获取就行了,不用向服务器请求。这种方式缓存下来的资源称为强缓存。

协商缓存

直白点的方式描述下:客户端第一次问服务器要某个资源时,服务器丢还给客户端所请求的这个资源同时,将该资源的一些信息(文件摘要、或者最后修改时间)也返回给客户端,告诉客户端将这个资源缓存在本地。当客户端下一次需要这个资源时,将请求以及相关信息(文件摘要、或者最后修改时间)一并发送给服务器,由服务器来判断客户端缓存的资源是否需要更新:如不需要更新,就直接告诉客户端获取本地缓存资源;如需要更新,则将最新的资源连同相应的信息一并返回给客户端。

更多详情可参考:浏览器缓存

前端错误分类

  • 即时运行错误:代码错误
  • 资源加载错误

错误的捕获方式

即时运行错误的捕获方式

  1. try.catch
  2. window.error

资源加载错误

  1. object.onerror
  2. performance.getEntries()
  3. Error事件捕获

愿你成为终身学习者


http://www.niftyadmin.cn/n/3723649.html

相关文章

Http请求和响应的编码问题

前言&#xff1a; 今天来谈谈Tomcat服务器和网页之间编码和解码之间的关系。关于URL编码的问题可以看链接&#xff1a;廖雪峰修正&#xff1a;百度现在编码也是UTF-8 关于编码之间的转换问题可以看链接&#xff1a;编码转换问题 浏览器端的编码: 默认解码是GB2312影响form提交数…

Android MK 简介(一)

2019独角兽企业重金招聘Python工程师标准>>> Android.mk简介&#xff1a; Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分&#xff0c;且将被Build System解析一次或多次。所以&#xff0c;请尽量少的在Android.mk中声…

springmvc基础(一)

1、创建动态的web项目 2、导入springmvc需要的jar包 3、配置web.xml文件 4、写springmvc的配置文件 5、创建一个类(控制层) 6、简化web.xml配置文件的写法 <!-- 配置 DispatcherServlet --> <servlet> <servlet-name>dispatcherServlet</servlet-name>…

小将的逆袭:一个90后谈脑残体

编者按&#xff1a;在批驳脑残体运动中&#xff0c;不妨也听听90后的声音。关于“脑残体”&#xff0c;我忍无可忍。为什么这么快删&#xff1f;心虚吗&#xff1f;搞清楚&#xff0c;你们发明的orz otl 囧rz这样的符号在70后、60后眼里才是真正的火星文&#xff0c;才是真正的…

ES6与CommonJS中的模块处理

ES6和CommonJS都有自己的一套处理模块化代码的措施&#xff0c;即JS文件之间的相互引用。 为了方便两种方式的测试&#xff0c;使用nodejs的环境进行测试 CommonJS的模块处理 使用require来引入其他模块的代码&#xff0c;使用module.exports来引出 // exportDemo.js count 1;…

通汇手机为何卖得那么红火

通汇手机连锁去年销量又高居粤西地区榜首 通汇手机为何卖得那么红火 今年1月&#xff0c;国内权威调查机构赛诺公司发布国内各地级市去年行货手机销售相关数据&#xff0c;茂名地区2005年10月份的行货手机总销量约为13500台&#xff0c;其中&#xff0c;通汇手机连锁当月份销量…

JS中变量名和函数名重名

2019独角兽企业重金招聘Python工程师标准>>> js是弱类型语言&#xff0c;所以变量声明这块肯定会有怪异的问题。 var a100; function a(){   console.log(a); } a();执行结果是&#xff1a; Uncaught TypeError: a is not a functionat <anonymous>:5:1看…

Delphi控制Excel

(一) 使用动态创建的方法首先创建 Excel 对象&#xff0c;使用ComObj:var ExcelApp: Variant;ExcelApp : CreateOleObject( Excel.Application );1) 显示当前窗口&#xff1a;ExcelApp.Visible : True;2) 更改 Excel 标题栏&#xff1a;ExcelApp.Caption : 应用程序调用 Micros…