Web开发中javascript优化策略

1. 由于脚本会阻塞页面其他资源的下载,因此推荐将所有的<script>标签尽可能放到<body>标签的底部,以尽量减少对整个页面下载的影响。

2. 一段内嵌脚本放在引用外链样式表的<link>标签之后会导致页面阻塞去等待样式表的下载。这样做是为了确保内嵌脚本在执行时能获得最准确的样式信息。因此永远不要把内嵌脚本紧跟在<link>标签后面

3.HTTP请求会带来额外的性能开销,因此下载单个的100KB文件要比下载4个25KB的文件更快,也就是说,减少页面中外链脚本文件的数量将会改善性能。(较大的javascript文件除外)

4.在<script>标签中使用defer属性:<script type="text/javascript" src = "file1.js" defer></script> 。defer属性指明本元素所含的脚本不会修改DOM,因此代码能安全地延迟执行。IE4+和Firefox 3.5+的浏览器支持。

5.动态加载脚本

 

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


 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值