- 博客(5)
- 收藏
- 关注
原创 页面性能到底有哪些指标和优化方式
可以使用 window.performance.timing 的各种字段来看看到底哪个环节花的时间最长。问:有两位同学,分别使用SVG和canvas进行绘图,怎么证明他们俩的性能谁更高呢?canvas的核心是降低DOM数量,它就1个,肯定比SVG少的。那只要计算一下 domComplete 和 domLoading之间的时间,即可看出差距。那么现在我得到了一组数据,那我应该如何优化,或者如何评判我的网页是否需要优化呢?
2024-01-11 00:13:07 842
原创 浏览器相关JS
history.pushState 不会触发浏览器页面的刷新,它只是改变了当前 url 的状态,会刷新页面的是改变了 location.href。本文阐述的知识点主要出于代码和应用之间---浏览器是如何把我们的代码渲染出来的。=> render tree:DOM和CSSOM结合生成。第一层:js => module => system。=> 获取到具体的节点(服务器,CDN,云上)=> 文件解析(DOM、CSSOM、JS逻辑)=> layout tree:结合JS逻辑。=> paint:渲染出来。
2024-01-10 00:36:54 978
原创 JS模块化发展历程(初稿)
这是最最最简单的模块化,也是最最最基础的模块化,你可以在 jquery 中看到它的身影,你甚至在 webpack 中配置打包方式设置为 "IIFE" 时,你打包出来的代码也是这样的格式,它简单但也很流行。但计算机硬件的发展,用户的电脑越来越好,业务人员希望网页能够实现越来越复杂的功能,开发人员也愿意为此付出劳动,随着业务逻辑日趋复杂,简单的JS无法再满足人们的需求,于是模块化需求日益增长。普通(不加参数):同步下载,下载文件,解析文件,执行后续代码。,下载文件,执行后续代码,待DOM解析完成,再解析文件。
2024-01-09 00:47:10 1223
原创 逐步递进地手写一个Promise
我看网上的代码都是一步到位的,很少有人会解释某一行代码是怎么来的,这会对新手同学造成很大困扰。咱既然要教,那就把逻辑和道理一步步给说明白,让读者看一遍两遍就能完全搞懂。我将用来阐述一个比较完整的 Promise 代码是怎么来的。
2024-01-08 00:05:33 1271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人