高级JS不知道的冷知识----script标签

script 标签

1.首先了解HTML的结构,分为head 和 body 标签,我们可以理解成html是从上往下加载的
2.js 分为内部js 和外部js
外部引入的js文件一般放到head 部分 在页面加载之前引入js文件,保证当前页面可以正常调用,
内部js一般会放到body的下面

为什么本地的js脚本会放到body下面?

1.页面加载js脚本时,会阻塞页面其他资源的加载,如果把本地的js放到head部分,浏览器会先解析完js代码,再继续解析body里面的代码;
2加载js脚本会阻塞是既定的规范,没有明确的说明;
如果放到head头里面,用户要忍受这种可视的延迟,虽然忍得越久,到时候越爽,但是万一憋坏了就不好了…

为了避免head引入的js脚本阻塞浏览器的解析引擎对dom的解析工作,对dom的渲染,一般样式在前面,dom文档,脚本在最后面。遵循先解析再渲染再执行script这个顺序

解决方法:

1.一般我们用window.onload 的事件 等页面加载完以后执行js 代码;
2.script标签中有2个属性 async 和 defer

async 和 defer区别

defer 等页面加载完在执行,和window.onload 一样
async 是异步加载,标记为async 的脚本不能确保加载的顺序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值