异步加载的三种方案

本文探讨了JavaScript中异步加载的三种方案:defer、async和按需加载。defer会在DOM解析完成后执行,async则在文件加载完毕后立即执行,无论DOM状态。同时,文章还介绍了浏览器的工作线程,包括JS引擎线程、GUI渲染线程、事件监听线程、计时器线程和网络线程。
摘要由CSDN通过智能技术生成

1.defer 异步加载,要等到dom文档全部解析完成之后才会执行

2.async 异步加载,只要js文件加载完就执行,只能加载外部链接的js文件

3.按需加载

 <!-- 按需加载 -->
    <script type="text/javascript">
        function asyncLoaded(url,callback){
            var script = document.createElement("script");
//                script.src = url;   假如说网速非常好,直接执行完成了,后面就监听不到状态的改变了
            if(script.readyState){
                script.onreadystatechange = function(){
                    if(script.readyState == "complete" || script.readyState =="loaded"){
//                            执行某个函数
                        callback()
                    }
                }
            }else{
                script.onload = function(){
//                        执行某个函数
                    callback()
                }
            }
            script.src = url;    //异步的过程
            document.head.appendChild(scr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值