什么是DOCTYPE以及作用
DTD告诉浏览器我是什么文档类型 浏览器根据这个用哪个引擎来渲染
DOCTYPE声明文档类型和DTD规范的,告诉浏览器当前文档类型包含那个DTD
HTML5
<!DOCTYPE html>
HTML4有两个类型 有严格模式(不包括展示型和弃用的元素,如font)和传统模式(不包括展示型和弃用的元素)
浏览器渲染过程
渲染过程
layout没和render树合成之前 不知道应该画在什么地方(render树和layout树是并行的)
重排
重绘
布局
提高页面性能的方法有哪些?
1、资源压缩合并,减少HTTP请求
2、非核心代码异步加载->异步加载的方式->异步加载的区别
异步加载的方式: 动态脚本加载 defer async
异步加载的区别:defer是在html执行完之后才会执行, 如果是多个、按照加载的顺序依次执行;async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关
3、浏览器缓存->缓存的分类->缓存的原理
缓存的分类:
强缓存:
Expires: ....(绝对时间)
Cache-Control:max-age=3600 (3600s 都有的话 以这个为准)
协商缓存:
https://www.jianshu.com/p/9c95db596df5
4、使用CDN
5、预解析DNS
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//host_name_to_prefetch.com">
错误监控类:
错误分类:
运行错误:try...catch捕获 、window.onerror
资源加载错误: object.onerror、 performance.getEntries()(获取加载的资源,所以可间接获取)、error事件捕获(在监听错误事件的第三个参数用true)
跨域的JS运行错误可以捕获吗?错误提示是什么?应该怎么处理?
可以捕获,但是没有详细信息,
处理方法:在script标签中增加crossorigin属性(客户端)、设置JS资源响应头Access-Control-Allow-Origin:*(服务端)
promise里面then()的第二个错误处理函数和catch有什么区别?
https://segmentfault.com/q/1010000014867708
上报错误的基本原理
1、采用Ajax通信上报
2、采用image对象上报(重要)
前端错误处理
网友评论