页面性能

提升页面性能的方法有哪些?

  1. 资源压缩合并,减少http请求
  2. 非核心代码异步加载
  3. 利用浏览器缓存
  4. 使用CDN
  5. 预解析DNS
  6. ...

异步加载的方式有哪些 ?

  • 动态加载脚本
    创建script, 插入到 DOM中
  • async
    示例: <script type="text/javascript" src="demo_async.js" async="async"></script>
    async 属性仅适用于外部脚本(只有在使用src属性时)
  • defer 只支持IE
    示例: <script type="text/javascript" defer="defer"> alert(document.getElementById("p1").firstChild.nodeValue); </script>


    异步加载的区别
    1. defer是在HTML解析完成之后才开始执行,如果有多个,按照加载的顺序依次进行
    2. async是在加载完成之后立即执行, 如果是多个,执行顺序和加载顺序无关