性能优化-4-JS开销和如何缩短解析时间- 配合V8 有效优化代码-函数优化-对象优化-HTML优化-CSS对性能的影响

4-1 JS开销和如何缩短解析时间

js和html-css中,js开销是最大的,要解析编译后才运行。
在这里插入图片描述
在这里插入图片描述
可以用performance去观察,这里就不一一截图了,理解原理即可
在这里插入图片描述
在这里插入图片描述
网页的加载大概30%都耗在js中。

优化

例如引入的第三方库,loadsh等,可能里只用到1%的函数,那么就没必要其他也引入了。
解决
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先加载用户看到的。

通过三点达到是否体验好

是否在加载(让用户知道在加载了)?
是否有有用的内容?
是否能用(交互)?
在这里插入图片描述

V8编译原理

在这里插入图片描述
理解好原理后能写出更利于编译器去解析和优化的代码,例如如果代码写的不够好那么优化器会发生逆优化的过程。

测试

在这里插入图片描述
注意2中是有字符串的参数
在这里插入图片描述
除掉字符串参数后
在这里插入图片描述

why?

因为之前的参数都是不变的,如果突然调用其他参数不一样的,那么之前优化的逻辑就不能用了。
先看看工作原理
在这里插入图片描述
优化机制
在这里插入图片描述
脚本流》单独开线程先解析30kb以上的文件
字节码缓存》缓存之前编译好的一些其他地方也用得到的代码
懒解析》只有用到才解析

函数优化

使用懒解析优化函数》这样就不会进行一个解析,在堆的内存也不用分配内存。
在这里插入图片描述
如果知道某些函数要执行 那么在定义的时候就可以调用
在这里插入图片描述
在这里插入图片描述
老版本的webpack编译后可能会去掉()可以用optimize.js解决

对象优化

在这里插入图片描述
其实最终还是针对v8的优化规则编写代码。

顺序初始化

在这里插入图片描述
在这里插入图片描述

例子2

在这里插入图片描述

例子3

V8引擎会对真数组极大优化。
在这里插入图片描述
把类数组转成真数组后遍历》开销低

在这里插入图片描述

例子4在这里插入图片描述### 例子2

在这里插入图片描述
在这里插入图片描述

HTML优化(占比较小)

在这里插入图片描述
深层嵌套导致domshu深遍历久
在这里插入图片描述
在这里插入图片描述
语义化标签方便浏览器解析。
在这里插入图片描述
js放底下不然阻塞dom加载
在这里插入图片描述

CSS优化

降低大小,先拿到先解析css
在这里插入图片描述
contain相当于独立渲染区域,即使修改了里面的内容也不会影响其他布局,例如这里有一万条数据,那么改了某条影响布局的内容,则这一万条数据都受到影响使用contain就不会了(不会重新计算样式)。
在这里插入图片描述
在这里插入图片描述

4-2 配合V8 有效优化代码

4-3 函数优化

4-4 对象优化

4-5 HTML优化

4-6 CSS对性能的影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值