争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

javascript优化性能的方法介绍(附示例)

时间:2024/5/5作者:未知来源:争怎路由网人气:

网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于javascript性能优化的方法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

本文主要是在我读《高性能Javascript》之后,想要记录下一些有用的优化方案,并且就我本身的一些经验,来大家一起分享下,

Javascript的加载与执行

大家都知道,浏览器在解析DOM树的时候,当解析到script标签的时候,会阻塞其他的所有任务,直到该js文件下载、解析执行完成后,才会继续往下执行。因此,这个时候浏览器就会被阻塞在这里,如果将script标签放在head里的话,那么在该js文件加载执行前,用户只能看到空白的页面,这样的用户体验肯定是特别烂。对此,常用的方法有以下:

  • 将所有的script标签都放到body最底部,这样可以保证js文件是最后加载并执行的,可以先将页面展现给用户。但是,你首先得清楚,页面的首屏渲染是否依赖于你的部分js文件,如果是的话,则需要将这一部分js文件放到head上。

  • 使用defer,比如下面这种写法。使用defer这种写法时,虽然浏览器解析到该标签的时候,也会下载对应的js文件,不过它并不会马上执行,而是会等到DOM解析完后(DomContentLoader之前)才会执行这些js文件。因此,就不会阻塞到浏览器。

<script src="test.js" type="text/javascript" defer></script>
  • 动态加载js文件,通过这种方式,可以在页面加载完成后,再去加载所需要的代码,也可以通过这种方式实现js文件懒加载/按需加载,比如现在比较常见的,就是webpack结合vue-router/react-router实现按需加载,只有访问到具体路由的时候,才加载相应的代码。具体的方法如下:

1.动态的插入script标签来加载脚本,比如通过以下代码

  function loadScript(url, callback) {
    const script = document.createElement('script');
    script.type = 'text/javascript';
    // 处理IE
    if (script.readyState) {
      script.onreadystatechange = function () {
        if (script.readyState === 'loaded'   

关键词:javascript优化性能的办法介绍(附示例)




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版