《高性能JavaScript》读书笔记 (上)

参考书籍:《高性能JavaScript》


《高性能JavaScript》读书笔记 (上)_第1张图片


第1章 加载和执行

1.当前的JavaScript代码是内嵌还是包含在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成
2.浏览器在解析到标签之前,不会渲染页面的任何部分,将脚本放到body标签底部,可以减少对页面的阻塞时间
3.确定该脚本不会修改DOM元素,可以使用defer属性异步加载脚本

  • defer下载完成后不会马上执行,直到DOM加载完成,onload事件被触发前才执行
  • async--HTML5的属性,也是异步加载脚本,一加载完就执行
  1. 动态脚本加载凭借着它在跨浏览器兼容性和易用的优势,成为最通用的无阻塞加载解决方案

    function loadScript(url, callback){
     var script = document.createElement("script");
     script.type = "text/javascript";
    
     if(script.readyState){ //IE
         script.onreadystatechange = function(){
             if(script.readyState == "loaded" || script.readyState == "complete"){
                 script.onreadystatechange = null;
                 callback();
             }
         }
     }else { //其它浏览器
         script.onload = function(){
             callback();
         }
     }
    
     script.src = url;
     document.getElementsByTagName("head")[0].appendChild(script);
    }

小结

  • 标签闭合之前,将所有的

你可能感兴趣的:(《高性能JavaScript》读书笔记 (上))