长话简说JavaScript(2) HTML如何使用JavaScript

HTML如何使用JavaScript

在HTML添加 script元素或者创建文件为.js格式
列举几个属性:
async:异步操作 如果在方法上添加,这个方法就会后台执行,不会影响你的操作
charset:使用 src 属性指定的代码字符集,标准用utf-8
crossorigin:。配置相关请求的CORS(跨源资源共享)设置,默认是不开启crossorigin=“use-credentials"设置凭据标志,意味着出站请求会包含凭据。
defer:表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本文件有效
integrity:允许比对接收到的资源和指定的加密签名以验证子资源完整性,简单理解,如果收到资源的标签与这个属性指定的标签不一致,页面会报错,中断执行,防止恶意内容弹出
src:表示要执行外部文件的地址
type:代表脚本语言的内容类型,在window上游览器的页面是type=“text/javascript”,在非 IE 的浏览器中有效的其他值还有"application/javascript"和"application/ecmascript”。如果这个值是 module,则代码会被当成 ES6 模块,而且只有这时候代码中才能出现 import 和 export 关键字。
如果页面上有JavaScript 代码,JavaScript 代码会从上到下解释,被解析成一个函数定义保存到解释器进行计算,计算完成后页面才会加载,注意代码上不要存在 script元素

<script> 
 function sayScript() { 
 console.log("</script>"); 
 } 
</script>

这样会报错需要要转义字符“”

<script> 
 function sayScript() { 
 console.log("</script>"); 
 } 
</script>

如果引入多个.js文件,也会按照顺序一个一个解析计算

<!DOCTYPE html> 
<html> 
 <head> 
 <title>Example HTML Page</title> 
 <script src="example1.js"></script> 
 <script src="example2.js"></script> 
 </head> 
 <body> 
 <!-- 这里是页面内容 --> 
 </body> 
</html>

标签位置的意义
如果script元素放在页面的head标签的话,页面运行的话先解释计算后再开始渲染页面,会导致页面加载延迟

<!DOCTYPE html> 
<html> 
 <head> 
 <title>Example HTML Page</title> 
 <script src="example3.js"></script> 
 <script src="example4.js"></script> 
 </head> 
 <body> 
 <!-- 这里是页面内容 --> 
 </body> 
</html>

解决办法

  1. List item把script元素放在body标签内和页面同时加载 一起渲染
  2. 使用defer 属性, 脚本会被延迟到整个页面都解析完毕后再运行script元素,缺点是不一定按照顺序执行脚本,最好一个脚本
  3. 使用async 属性,这样它们之间没有依赖关系。给脚本添加 async 属性的目的是告诉浏览器,不必等脚本下载和执行完后再加载页面,同样也不必等到该异步脚本下载和执行后再加载其他脚本。
    动态加载脚本
    通过向 DOM 中动态添加 script 元素同样可以加载指定的脚本
let script = document.createElement('script'); 
script.src = 'gibberish.js'; 
document.head.appendChild(script);

这种方式创建的script元素是以异步方式加载的,相当于添加了 async 属性
需要同步加载,可以改成

let script = document.createElement('script'); 
script.src = 'gibberish.js'; 
script.async = false; 
document.head.appendChild(script);

这样方式浏览器预加载器是不可见的,严重影响它们在资源获取队列中的优先级。
可以在文档头部显式声明它们:

<link rel="preload" href="gibberish.js">

行内代码与外部文件的选择
使用外部文件的理由:

  1. 可维护性。一个JavaScript 代码可以多个HTML 页面使用
  2. 缓存。 浏览器会根据特定的设置缓存所有外部链接的 JavaScript 文件
  3. 适应未来。可以更好适应不同的页面

文档模式
使用 doctype 切换文档模式。文档模式有两种
混杂模式
以省略文档开头的 doctype 声明作为开关。
标准模式
这种模式下的浏览器支持很多标准的特性,但是没有标准规定得那么严格。主要区别在于如何对待图片元素周围的空白(在表格中使用图片时最明显)。推荐使用

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>