一、JavaScript 定义
JavaScript 简称 JS,最初由网景公司创建,由于商标冲突原因,其标准版本命名为 ECMAScript,一般人们还是叫 JavaScript,只在谈标准的时候说到 ECMAScript 这个名字。JavaScript 是一种轻量级的脚本语言。所谓脚本语言,指的是它不具备开发操作系统的能力,而是用来编写控制其他大型应用程序的脚本,浏览器就是其中之一。
二、JavaScript 对前端开发者学习的必要性
JavaScript 既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。其次JavaScript 语言有一些显著特点,使得它非常值得学习。
(1)对浏览器的操作
JavaScript 诞生之初,浏览器的网页都是静态无交互的,用户与浏览器之前的关系只在读取网页内容上,因此开发 JavaScript 的直接目的就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。
(2)JavaScript 逐步扩大的领域
JavaScript 相对于诞生之初仅针对浏览器开发的目的,现如今其使用范围已逐步扩大,慢慢超越了浏览器,正在向通用的系统语言逐步发展。这其中具体变现有如下几点:
① 浏览器的平台化
随着 HTML5 的出现,浏览器自身的功能已经越来越强大也越来越健全,不再仅仅能浏览网页,而更像一个平台,JavaScript 也因此得以调用许多的系统功能,例如操作本地文件、操作图片、调用摄像头和麦克风等等。这遍使得 JavaScript 可以进入以往无法涉及领域,完成 许多以前无法想象的事情。
② Node
Node 使得 JavaScript 可以用于开发服务器端的大型项目,网站的前后端开发均使用 JavaScript 开发已经成为了现实。有些嵌入式平台能够安装 Node,于是 JavaScript 就能为这些平台开发相应的应用程序。
③ 数据库操作
JavaScript 甚至也可以用来操作数据库。NoSQL 数据库这个概念,本身就是在JSON格式的基础上诞生的,大部分 NoSQL 数据库允许 JavaScript 直接操作。基于 SQL 语言的开源数据库 PostgreSQL 支持 JavaScript 作为操作语言,可以部分取代 SQL 查询语言。
④ 移动平台开发
JavaScript 也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-C 或 Swift 语言开发。许多人正在努力,让 JavaScript 成为各个平台的通用开发语言。PhoneGap 项目就是将 JavaScript 和 HTML5 打包在一个容器之中,使得它能同时在 iOS 和安卓上运行。Facebook 公司的 React Native 项目则是将 JavaScript 写的组件,编译成原生组件,从而使它们具备优秀的性能。Mozilla 基金会的手机操作系统 Firefox OS,更是直接将 JavaScript 作为操作系统的平台语言,但是很可惜这个项目没有成功。
⑤ 内嵌脚本语言
越来越多的应用程序,将 JavaScript 作为内嵌的脚本语言,比如 Adobe 公司的著名 PDF 阅读器 Acrobat、Linux 桌面环境 GNOME 3。
⑥跨平台的桌面应用程序
Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序。Mozilla 的Open Web Apps 项目、Google 的 Chrome App 项目、GitHub 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等多个桌面平台的程序,不依赖浏览器。
三、性能
(1)灵活的语法与强大的表达能力
JavaScript 既有 C 语言清晰的过程式编程,也富含灵活的函数式编程,可以用来写并发处理。
(2)编译运行
avaScript 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JavaScript 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。
(3)事件驱动和非阻塞式设计
JavaScript 程序可以采用事件驱动(event-driven)和非阻塞式(non-blocking)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。