说在前面 CSS的回顾已经接近尾声,这意味着JS的回顾即将开始,接下来就由Luffy带领我们一同参照WangDoc.com的互联网那个文档内容进行JavaScript核心语法(ES5 and DOM)的复习与总结啦!
What is JS? JavaScript 是一种轻量级的脚本语言,之所以叫做脚本语言(script language),是因为不具备开发操作系统的能力,只是用来编写控制其他大型应用程序如浏览器的脚本
JS同时也是一种嵌入式语言(embedded language),本身只能提供一些数学和逻辑运算,因此其本身的核心语法并不多。同时JS本身不提供任何与I/O有关的API,这些都需要宿主环境(host)提供,因此JS只适合于嵌入到更加大型的应用程序环境中从而去调用宿主环境(host)提供的底层API。目前JS的host有多种,常见的环境是浏览器以及服务器环境(Node项目)
从语法的角度看,JS是一种"对象模型"语言,宿主环境通过模型来描述自己的功能和操作接口,进一步通过JS来控制这些功能。但JS并不是纯粹的"面向对象",还支持其他编程范式如函数式编程,这意味着几乎所有问题JS都可以有多种方式解决,体现了JS的灵活性
JS的核心语法非常精简,只包含基本的语法构造(操作符,控制结构,语句)和标准库(一系列具有各种功能的对象如Array,Date,Math等) 除了核心语法便是各种宿主环境(host)提供的额外API(限于host的接口)让JS调用
如浏览器所提供的API可以分为三类:
浏览器控制类(操作浏览器) DOM类(操作网页元素) Web类(实现互联网功能) 而服务器则会提供操作系统的API,如文件操作API,网络通信API等等,之后学习Node可以在Node环境中找到
JS的优势 JS是目前唯一通用的浏览器脚本语言,让网页能够呈现出各种特殊效果从而为用户提供良好的交互体验
广泛的使用领域 JS的使用范围也在向着通用系统语言的方向发展
1 浏览器平台化 随着HTML5的出现浏览器本身的功能不再局限于浏览网页,而是更加平台化,JS可以调用更多的系统功能,如操作本地文件,操作图片,调用摄像头与麦克风等
2 Node Node 项目让JS可以用于开发大型的服务器端项目,网站的前后端都可以使用JS开发 Raspberry Pi等嵌入式平台也能够安装Node,意味着JS能够为这些平台开发应用程序
3 数据库操作 NoSQL数据库的概念在JSON(JavaScript Object Notation)格式的基础上诞生 大部分的NoSQL数据库允许JS的直接操作 而基于SQL语言的开源关系型数据库PostgreSQL支持JS作为操作语言并部分取代SQL
4 移动平台开发 React Native项目将JS写的组件编译成为原生组件从而让其具备优秀性能
5 内嵌脚本语言 越来越多的应用程序,将 JavaScript 作为内嵌的脚本语言,比如 Adobe 公司的著名 PDF 阅读器 Acrobat、Linux 桌面环境 GNOME 3
6 跨平台桌面应用程序 Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序 Mozilla 的 Open Web Apps 项目、Google 的 Chrome App 项目、GitHub 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等多个桌面平台的程序而不依赖于浏览器