什么是JavaScript
ECMAScript
- ECMAScript,即 ECMA-262 定义的语言,这门语言没有输入和输出之类的方法,宿主环境类似于插件,提供不同的API
- 宿主环境为浏览器时叫JavaScript(JavaScript 实现了ECMAScript)
- 宿主环境为服务器时叫NodeJs
Global
-
可以理解为真正的全局对象,但无法从外界访问
-
浏览器将 window 对象实现为 Global对象的代理
Dom(文档对象模型)
- Dom是浏览器提供的API,将整个页面转为节点树,提供对节点的操作。
Bom(浏览器对象模型)
- Bom也是浏览器提供的API,用于访问和操作浏览器的窗口。
HTML中的JavsScript
使用JavaScript
- 将 JavaScript 插入 HTML 的主要方法是使用
<script>
元素 - 使用
<script>
的方式有两种:- 直接在HTML中嵌入 JavaScript 代码,
- 引用外部 JavaScript 文件(推荐)(可维护性、缓存)
- 动态加载
<script>
可能会严重影响性能
type
- 如果这个值是 module ,则代码会被当成 ES6 模块
src
- 在解释外部 JavaScript 文件时,页面会阻塞
- 加载后会和页面共享一个全局作用域
- 浏览器不会检查所包含 JavaScript 文件的扩展名(jsonp)
- 不受浏览器同源策略限制( integrity 属性用于验证)(jsonp)
defer和async
- 两者都在DOMContentLoaded 事件之前执行
- 两者都只对外部脚本文件才有效
- defer属性:页面解析完再执行
- async属性:下载完就执行,并停止当前的页面解析