博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中的script标签浅析
阅读量:7096 次
发布时间:2019-06-28

本文共 904 字,大约阅读时间需要 3 分钟。

知识点1:

script标记有6个属性
1.async:可选,立即下载脚本,但是又不妨碍页面中的其他操作
2.charset:可选,很少用
3.defer:可选,脚本延迟到文档完全被解析和显示之后再执行,只对外部脚本有效
4.language:已废弃
5.src:表示要执行代码的外部文件
6.type:用于表示编写脚本语言的MIME类型,一般为text/javascript

知识点2:

不管是解析外部js文件(包括下载该文件),还是解析嵌入式js代码,页面的处理都会暂停

知识点3:

script的src属性还可以包含来自外部域的js文件,这是实现跨域传值jsonp的基础,但是如果不是自己能控制的服务器,需要多加小心。

知识点4:

script脚本的位置
若放在head中,符合将所有外部文件(包括外部css文件)放到同一个地方的要求,但是这也就意味着,必须要等js文件下载,解析,执行完毕后才能呈现页面的内容,(遇到body标记,才能呈现内容)。对于很多js代码的页面来说,会导致浏览器呈现页面明显的延迟,延迟期间浏览器是一片空白的。
因此script一般放在</body>前面.

知识点5:延迟脚本defer

脚本文件会被立即下载,被延迟到整个页面解析完毕后再运行(浏览器遇到/html标签后)

H5规范要求脚本按照他们出现的先后顺序执行,而且所有的脚本回先于DOMContentLoaded事件执行,但是延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发之前执行,因此一个页面最好只有一个延迟脚本.

知识点6:异步脚本async

脚本文件立即下载,谁先下载完谁先执行,脚本的下载和执行不会影响页面的加载

知识点7:总结

正常的脚本加载和解析:遇到script就会下载,解析。前一个脚本解析完成,再加载,解析下一个脚本。并且页面的加载停止
defer:立即下载,等待页面加载完成再执行
async:多个脚本同时下载,谁先下载完谁先执行,可以和页面加载同时进行

转载于:https://www.cnblogs.com/Alin-jing/p/6006646.html

你可能感兴趣的文章
牵手重庆达成多项合作 ARM持续完善产业布局
查看>>
浪潮与SUSE达成战略合作,共同推进开放云图生态
查看>>
山石网科FWaaS领跑云数据中心防护之道
查看>>
阿里CEO张勇:安全是中国互联网生态的共同基石
查看>>
技术解析:IBM Connections功能扩展
查看>>
开源:好处与风险并存
查看>>
新版飞康CDP、NSS全新功能完全解读
查看>>
两大数据库安全产品比拼:IBM Guardium VS Imperva SecureSpher
查看>>
移动支付市场爆发 告别实体钱包时代有望?
查看>>
Kali如今用云GPU破解口令了
查看>>
亿点连接荣获“2017最佳创新出境产品奖”
查看>>
解析提高PHP执行效率的50个技巧
查看>>
思科发布针对勒索软件TeslaCrypt的解密工具
查看>>
精益求精的代码却被带漏洞组件毁于一旦
查看>>
IBM马修:利用数据分析实现企业创新
查看>>
卡巴斯基:高达98%的WannaCry 受害者运行的是 Windows 7系统
查看>>
PMC 赢得客户认可,获富士通颁发2015年度技术大奖
查看>>
BigBench on MaxCompute 基准测试套件简明安装与运行指南
查看>>
ABB机器人事业部产品架构总监Daniel ppling:面对机器人技术,我们应该关注什么?...
查看>>
《中国人工智能学会通讯》——1.3 若干研究结果
查看>>