2.4 JavaScript 基础
JavaScript 是一种多范式的动态语言,它包括类型、运算符、标准内置(built-in)对象和 方法,其语法源自 Java 和 C,所以这两种语言的许多语法特性同样适用于 JavaScript。JavaScript 通过原型链而不是类来支持面向对象编程,它同样支持函数式编程,因为它们也是对象,函数 也可以保存在变量中,并且像其他对象一样传递。
与大多数编程语言不同的是,JavaScript 没有输入或输出的概念。它是在一种宿主环境中 运行的脚本语言,任何与外界沟通的机制都是由宿主环境提供的。浏览器是最常见的宿主环境, 但在非常多的其他程序也包含 JavaScript 解释器,这些程序包括 Adobe Acrobat、Adobe Photoshop,宿主环境包括 Yahoo!的 Widget 引擎、Node.js、NoSQL 数据库(如开源的 Apache CouchDB)、嵌入式计算机及桌面环境等。图 2-23 所示的淘宝首页轮播图即为 JavaScript 在网 页中的实际应用。
轮播图由网页 banner 进化而来,通常放置在网页中最显眼的地方。随着越来越多的信息 需要展示在网页中,轮播图应运而生。目前,轮播图是大多数网站中常见的一个应用模块,开 发者可以通过在 JavaScript 中添加定时器来实现该功能。
根据 Stack Overflow 发布的 2020 开发者调查报告,JavaScript 已经连续多年成为使用最多 的语言。对于任何开发人员来说,只要网站存在,JavaScript 就有用。
JavaScript 之所以如此流行,很大一部分原因是它无处不在。它几乎可以应用到所有的前 端和后端 Web 开发,其应用领域包括:
• 网站前端开发(JavaScript 的主要应用领域,表单提交、单击按钮等前端逻辑都可通 过 JavaScript 实现);
• 网站后端开发(Node.js 的问世让前端开发者能够通过 JavaScript 写后端代码,不需要 学 Java 等后端语言,这极大降低了学习成本);
• 移动开发;
• Web App(HTML5 提供了很多 API 支持,可以实现原生应用的大部分功能,比如基 于 Web App 实现的 Firefox OS);
• 微信小程序(从严格意义上说,微信小程序不同于 Web App、Native App 及 Hybrid App 这些主流开发方式,小程序采用 JavaScript 和 CSS 这类常见的 Web 开发技术,但是 它不支持现有的 HTML DOM);
• 桌面开发(Chrome 等浏览器可以将 JavaScript 写的程序打包成桌面应用,比如 Google 力推的 Chrome OS 就是基于 Web App 的操作系统);
• 插件开发(JavaScript 是一种跨平台的语言,因此通过 JavaScript 语言开发的插件可以 跨平台使用)。