很随便的JS笔记2

chapter 2 HTML中的JavaScript

1.<script>元素

包括几个属性:async/charset/crossorigin/defer/integrity/src/type

避免在script块中插入</script>,如果非要插入,在前面加上转义符,如<\/script>

script应该被放在页面内容之后或者头部分,并且按照顺序渲染页面。

defer只对外部脚本文件有效,且脚本被延迟到整个页面解析完毕后才运行。

async同defer,区别在于async不会按照脚本排放顺序来执行渲染。

因此,异步脚本不应该在加载期间修改DOM

2.动态加载脚本

使用DOM API动态添加script元素,从而加载指定的脚本

<head><link rel="preload" href="gibberish.js"></head>
//在文档头部显示声明,让预加载器知道动态请求文件的存在,提升性能。
   
<script>
   let script = document.createElement('script');
   script.src = 'gibberish.js';
   script.async = false;//添加这行使得原先为异步加载的脚本同步加载了
   document.head.appendChild(script);
</script>
3.行内代码与外部文件

使用外部文件具有可维护性、缓存(两个页面都用到同一个js文件的话,只需要下载一次,提高了页面加载速度)、适应性

4.<noscript>元素

可以制定浏览器不支持脚本时显示的内容。如果浏览器支持脚本,则该元素里的任何内容都不会被渲染。

上一篇:vue3:Module parse failed: Unexpected token (7:27) 解决方案


下一篇:10、Groovy实现代码热载的机制和原理