JS --- 高性能加载与执行(无阻塞)

JS — 高性能加载与执行(无阻塞)

1. script 标签的 defer属性
在这里插入图片描述

2. 封装动态创建JS文件 并执行代码

参数 url(文件中的URL) callback(完成加载后的回调函数)

// 封装动态加载JS文件
//参数 url(文件中的URL) callback(完成加载后的回调函数)
function loadScript(url,callback){
  var script = document.createElement('script')
    script.type = 'text/javascript';
  var readyState = script.readyState;
    if(readyState){ //IE
      script.onreadystatechange = function(){
        if(readyState == 'loaded' || readyState == 'complete'){
          script.onreadystatechange = null;
          callback();
        }
      }
    } else{ //其他浏览器
        script.onload = function(){
          callback();
        }
    }
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
}


// loadScript() 调用
loadScript('xx.js',function(){
  console.log('调用成功')
})

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值