问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JavaScript脚本优化的10个技巧

发布网友 发布时间:2024-09-17 07:24

我来回答

1个回答

热心网友 时间:2024-09-29 08:45

现在WEB应用包括网站,几乎都离不开JavaScript,可以大胆的说没有不使用JavaScript的WEB应用。在本文中,将总结一些JavaScript在WEB渲染速度和性能方面优化技巧。

1.将JavaScript提取到单独的文件中

将脚本提取为独立的.js文件有很多优点,其中可以明显减小HTML代码的大小。

2.异步

async属性告诉浏览器该脚本不会影响DOM或CSSOM,并且只能在整个页面加载和呈现后进行处理。async属性仅适用于放置在单独文件中的脚本。

3.阻塞JavaScript

阻塞JavaScript是一个必须在构建CSSOM树之前执行的脚本,JS脚本会阻止渲染,无论是作为带有src属性的标记还是作为内联脚本。

4.defer

defer属性的工作方式与在正文结束标记之前添加的锁定脚本完全一样。它有效是因为即使带有src属性的<script>标记附加到页眉,它也会被添加到页脚。defer属性可能会导致脚本放置在更高的位置,例如,在body标签中,这可能会停止工作,具体取决于添加了defer的脚本。

5.压缩JavaScript脚本

通过删除多余的字符,例如空格、制表符、换行符甚至整个注释块,可以最小化任何文本资源。与HTML或CSS代码相比,JavaScript代码可以被最小化。由于许多语法缩短技术,我们在这方面有更多的可能性。函数和变量的名称可以转换为单字母等价物,这不会改变编程功能的含义。阅读有关最小化文本资源和自动化此过程的技术的更多信息。

6.浏览器缓存(Cache-Control、Expires、E-Tag)

下载后,包含JavaScript代码的.js文件可以保存在浏览器的缓存中:通常是在本地磁盘上。下一次子页面访问此文件时,它将不必再次下载并执行昂贵的HTTP和下载请求。服务器可能会发送一个Cache-Control或Expires标头,它告诉浏览器复制文件并在指定的时间段内使用未更改的版本。

7.压缩

JavaScript文件是文本,众所周知,文本可以使用标准数据压缩算法进行压缩,在服务器端使用Brotli、GZP或deflate等模块执行的压缩对用户是不可见的,并可以节省高达80%的流量。Google开发的Brotli模块或传统的deflate或GZIP模块应默认安装并启用在任何提供JavaScript文件和其他文本资源(CSS、XML)的服务器上。

8.删除未使用的JavaScript代码

有时会在没有任何功能的页面上附加JavaScript脚本,这些可以是已在另一个子页面上使用的库或已在后续更新中撤回的功能。

9.对外部服务的请求缓存

如果重复引用它并且知道它不会经常更改,可以将JSON或XML文件的内容存储在一个临时变量中。

10.节流

在对延迟加载机制进行编程时可以使用节流技术,包括减少触发触发器的强度,使用带有条件语句和setTimeout的简单构造,可以使事件侦听器忽略某些事件,并且该功能仍然有效。

总结

在JavaScript方面利用页面优化是值得的,因为以不同方式实现的相同功能可能会显着减慢页面速度或对其加载时间没有影响。

热心网友 时间:2024-09-29 08:44

现在WEB应用包括网站,几乎都离不开JavaScript,可以大胆的说没有不使用JavaScript的WEB应用。在本文中,将总结一些JavaScript在WEB渲染速度和性能方面优化技巧。

1.将JavaScript提取到单独的文件中

将脚本提取为独立的.js文件有很多优点,其中可以明显减小HTML代码的大小。

2.异步

async属性告诉浏览器该脚本不会影响DOM或CSSOM,并且只能在整个页面加载和呈现后进行处理。async属性仅适用于放置在单独文件中的脚本。

3.阻塞JavaScript

阻塞JavaScript是一个必须在构建CSSOM树之前执行的脚本,JS脚本会阻止渲染,无论是作为带有src属性的标记还是作为内联脚本。

4.defer

defer属性的工作方式与在正文结束标记之前添加的锁定脚本完全一样。它有效是因为即使带有src属性的<script>标记附加到页眉,它也会被添加到页脚。defer属性可能会导致脚本放置在更高的位置,例如,在body标签中,这可能会停止工作,具体取决于添加了defer的脚本。

5.压缩JavaScript脚本

通过删除多余的字符,例如空格、制表符、换行符甚至整个注释块,可以最小化任何文本资源。与HTML或CSS代码相比,JavaScript代码可以被最小化。由于许多语法缩短技术,我们在这方面有更多的可能性。函数和变量的名称可以转换为单字母等价物,这不会改变编程功能的含义。阅读有关最小化文本资源和自动化此过程的技术的更多信息。

6.浏览器缓存(Cache-Control、Expires、E-Tag)

下载后,包含JavaScript代码的.js文件可以保存在浏览器的缓存中:通常是在本地磁盘上。下一次子页面访问此文件时,它将不必再次下载并执行昂贵的HTTP和下载请求。服务器可能会发送一个Cache-Control或Expires标头,它告诉浏览器复制文件并在指定的时间段内使用未更改的版本。

7.压缩

JavaScript文件是文本,众所周知,文本可以使用标准数据压缩算法进行压缩,在服务器端使用Brotli、GZP或deflate等模块执行的压缩对用户是不可见的,并可以节省高达80%的流量。Google开发的Brotli模块或传统的deflate或GZIP模块应默认安装并启用在任何提供JavaScript文件和其他文本资源(CSS、XML)的服务器上。

8.删除未使用的JavaScript代码

有时会在没有任何功能的页面上附加JavaScript脚本,这些可以是已在另一个子页面上使用的库或已在后续更新中撤回的功能。

9.对外部服务的请求缓存

如果重复引用它并且知道它不会经常更改,可以将JSON或XML文件的内容存储在一个临时变量中。

10.节流

在对延迟加载机制进行编程时可以使用节流技术,包括减少触发触发器的强度,使用带有条件语句和setTimeout的简单构造,可以使事件侦听器忽略某些事件,并且该功能仍然有效。

总结

在JavaScript方面利用页面优化是值得的,因为以不同方式实现的相同功能可能会显着减慢页面速度或对其加载时间没有影响。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天将雄师观后感600字 为什么喝酒会降血糖 牛栏山 52度浓香型白酒-购买最佳价格 全兴大曲 52度浓香型白酒-购买最佳价格 笔记本电脑怎么接音箱电脑如何连接外置音箱 笔记本电脑有音箱插孔吗笔记本电脑如何连接喇叭 冰箱压缩机过热启动5秒就停了 周长相等的正方形和圆,其面积比是多少 周长相等的正方形和圆面积比是多少 周长相等的正方形与圆形,边长与半径的比是( ),面积之比是( )。 要有... 郭敬明都有哪些别号 卸妆湿巾能卸掉防晒麼 请问吉宝为何选择昆明作为春城湖畔度假村的投资地点?这里的高尔夫度假村... keppel是哪个国家的港口 请问吉宝集团是跨国企业吗?实力怎么样? 做梦。梦见自己越狱。逃跑的过程中。有个士兵示意自己跳进大便池... 清真餐馆的经营者必须是穆斯林吗 清真饭店是什么意思 饭店写着清真是什么意思 征集武侠小说好的小说人名拜托各位了 3Q 组织后卫,得分后卫,控卫,三者有什么区别吗?》 办理中国银行信用卡需要满足什么条件? 如何才能办理信用卡,都需要满足那些申请条件? 办理信用卡需要些什么条件 男裤16574a是等同29/31尺码吗? 16574a裤子是多少码l 汩汩 怎么读 双生视界日服游戏如何下载 老板燃气灶点火针取不下来怎么办 萤火突击国服测试资格怎么获得-国服测试资格申请方法 怀孕47天药流是否能流干净 松鼠有趣的地方和特点 javascript模块化编程库require的用法 最全前端性能优化总结 现在发行的一元硬币是多少克重? 地漏弯头什么材质 什么是浦发银行代发卡 硅胶地漏弯头白色和蓝色哪个好 浦发银行的东方卡哪些是代发帐户? 十五岁女孩发生关系算强奸吗 这双鞋子是什么牌子的?金属片上第一个字母是D,貌似不是特别高跟_百度知 ... 周杰伦穿什么鞋 中锋买哪款篮球和鞋子好 wifi万能钥匙显示未找到相关热点怎么办 HC-SR04超声波测距模块使用方法和例程 用Python控制硬件17-测试超声波测距模块HC-SR04 基于STM32的HC-SR04超声波测距模块应用与程序设计 元气满满可爱的句子150句_元气满满的一天的句子_元气满满的句子大全 优选关于刘耀文的追星文案句子【160句】 蔓越莓手切饼干做法 定须八字能定取,二三五八四面围打一准确生肖