版权声明:内容多为自言自语,请自行判断有无价值。 https://blog.csdn.net/weixin_41702247/article/details/83038933
共六个,language废弃,charset不常用。
async:异步加载脚本,且不保证加载顺序(下载时不影响页面解析,但解析时会暂停页面渲染)
defer:立即下载,延迟执行(遇到</html>标签时执行),有顺序
type:默认type='text/javascript'
src:指向外部文件地址,可以是外部域地址(如cdn文件地址),可以忽略文件扩展名(如此一来可以使用其他服务器语言——如JSP和PHP动态生成js代码)
在引入js文件时,常常要求放在body底部,使其不影响页面渲染。当其在head标签中使用script标签时,属性设置defer='defer' 延迟脚本解析,或设置async异步脚本解析均可实现同样效果。
defer的效果几乎等同于将script放在body末尾,故意义不大;
async适用于不与任何其他脚本产生依赖的文件,如analytics script。引入jQuery文件就不适用此属性,因为页面的交互和载入过程可能涉及jquery操作。
参考:https://stackoverflow.com/questions/10808109/script-tag-async-defer
以下图片就很清晰了。