JavaScript基础知识
JavaScript 是什么
- JavaScript 是一门编程语言,可为网站添加交互功能(例如:游戏、动态样式、动画以及在按下按钮或收到表单数据时做出的响应等)。
- JavaScript 是一种具有函数优先特性的轻量级、解释型或者说即时编译型的编程语言。
- 进一步说,JavaScript 是一种基于原型、多范式、单线程的动态语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
- 折叠://#region //#endregion
JavaScript 的实用工具
- 浏览器应用程序接口(API)—— 浏览器内置的 API 提供了丰富的功能,比如:动态创建 HTML 和设置 CSS 样式、从用户的摄像头采集处理视频流、生成 3D 图像与音频样本等等。
- 第三方 API —— 让开发者可以在自己的站点中整合其他内容提供者(Twitter、Facebook 等)提供的功能。
- 第三方框架和库 —— 用来快速构建网站和应用。
JavaScript 的特点
- JavaScript 对大小写敏感,myDay 和 myday 是不同的。如果代码出现问题了,先检查一下大小写!
外部引入JavaScript
1 | <!DOCTYPE html> |
内部引入JavaScript
1 | <!DOCTYPE html> |
脚本调用策略
要让脚本调用的时机符合预期,需要解决一系列的问题。这里看似简单,实际大有文章。最常见的问题就是:HTML 元素是按其在页面中出现的次序调用的,如果用 JavaScript 来管理页面上的元素(更精确的说法是使用文档对象模型),若 JavaScript 加载于欲操作的 HTML 元素之前,则代码将出错。
“内部”、“外部”示例中,JavaScript 在文档头部,解析 HTML 文档体之前加载并执行。这样做是有隐患的,需要使用一些结构来避免错误发生。
“内部”示例使用了以下结构:
1 | document.addEventListener("DOMContentLoaded", () => { |
这是一个事件监听器,它监听浏览器的 DOMContentLoaded 事件,其标志了 HTML 文档体完全加载和解析。该代码块中的 JavaScript 在事件被触发后才会运行,因此避免了错误。
“外部”示例中使用了 JavaScript 的一项现代技术(defer 属性)来解决这一问题,它告知浏览器在遇到 <script> 元素时继续下载 HTML 内容。
1 | <script src="script.js" defer></script> |
上述情况下,脚本和 HTML 将一并加载,代码将顺利运行。
解决此问题的旧方法是:把脚本元素放在文档体的底端(也就是



