版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010011236/article/details/85332908
一、JavaScript的组成
ECMAScript:提供核心语法功能
DOM(文档对象模型):提供访问和操作网页内容的方法和接口
BOM(浏览器对象模型):提供与浏览器交互的方法和接口
二、在HTML中使用JavaScript
2.1、<script>元素
在HTML中使用JavaScript必须通过<script> </script>元素,有两种使用JavaScript的方法:
(1)直接在HTML中嵌入JavaScript:
(2)者包含外部JavaScript
<script>元素的属性及其含义:
type:“text/javascript”,当然在H5中可以省略type属性,因为默认脚本为JavaScript[2][3]。
src:包含外部脚本
defer:脚本在执行时不会影响页面的构造,即脚本会被延迟到整个页面都解析完毕后再运行。【在现实中,延迟脚本并不一定按照顺序执行,因此最好只包含一个延迟脚本。】
测试代码,其中测试html代码如下test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
<script defer src="test.js"></script>
</head>
<body>
<div id="container">
</div>
</body>
</html>
javascript代码如下test.js所示:
var container = document.getElementById('container')
container.innerHTML = 'Hello ok'
执行结果为:在页面中显示 Hello ok,表示js代码是在页面解析为之后再执行的。
async:表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行。
2.2、<noscript>元素
<noscript>元素可以指定在不支持脚本的浏览器中显示替代内容。
<noscript>
<p>需要启动支持JavaScript</p>
</noscript>
参考文献:
[1]《JavaScript高级程序设计(第3版)》
[2] MDN
[3] Which is better: <script type=“text/javascript”>…</script> or <script>…</script>
[4] 关于defer和async的区别