入门篇
导论
1.什么是js
1.1脚本语言:
js是一种轻量级的脚本语言,所谓"脚本语言"是指它不具备开发操作系统的能力,而是用来编写控制其它大型应用程序
(比如浏览器)的脚本
1.2嵌入式语言:
本身提供的核心语法不算多,只能用来做一些数学和逻辑运算,本身不提供与I/O(输入/输出)相关的API,都要靠宿主环境提供,
所以只适合嵌入更大型的应用程序环境,去调用宿主环境提供的api
目前已经嵌入的宿主环境有多种,最常见的就是浏览器,另外还有服务器环境,也就是node项目
2.语法
2.1核心语法
2.1.1基本的语法构造
比如操作符,控制结构,语句
2.1.2标准库
就是一些具有各种功能的对象,如Math,Array,Date
2.2宿主环境提供的额外api(以浏览器为例)
2.2.1 BOM类:操作浏览器
2.2.2 DOM类:操作网页的各种元素
2.2.3 WEB类:实现互联网的各种功能
js的核心语法相当精简,只包括两部分:基本的语法构造(如操作符,控制结构)和标准库(就是一系列具有各种功能的对象
如Array,Math,Date等).除此之外各种宿主环境提供额外的api,以js调用
如果宿主环境是服务器,就会提供各种操作系统的api,如文件操作,网络通信等;这些可以在node环境中找到
3.为什么学习js
3.1操控浏览器的能力
js的发明目的就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力, 是目前唯一通用的浏览器脚本语言所有浏览器都支持;全世界都用,如果不用那么网站的通用性易用性使用效率降打折扣
3.2广泛的使用领域
今年来js的使用领域慢慢超越了浏览器,正在向通用的系统语言发展
3.2.1浏览器的平台化
随着html5的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台;js因此得以调用许多系统功能; 比如:操作本地文件,操作图片,调用摄像头麦克风等,使得js得以完成许多以前无法想象的事情
3.2.2node
node使得js可以开发服务器端的大型项目,网站前后端都用js开发已成为现实
3.2.3数据库操作
js甚至可以用来操作数据库,大部分 NoSQL 数据库允许 JavaScript 直接操作.基于 SQL 语言的开源数据库 PostgreSQL 支持 JavaScript 作为操作语言,可以部分取代 SQL 查询语言。
3.2.4移动平台开发
一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-C 或 Swift 语言开发。许多人正在努力, 让 JavaScript 成为各个平台的通用开发语言 PhoneGap 项目就是将 JavaScript 和 HTML5 打包在一个容器之中,使得它能同时在 iOS 和安卓上运行。 Facebook 公司的 React Native 项目则是将 JavaScript 写的组件,编译成原生组件,从而使它们具备优秀的性能。
3.2.5 内嵌脚本语言
越来越多的应用程序,将js作为内嵌的脚本语言,如 Adobe 公司的著名 PDF 阅读器 Acrobat、Linux 桌面环境 GNOME 3。
3.2.6 跨平台的桌面应用程序
Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序,Mozilla 的 Open Web Apps 项目、 Google 的 Chrome App 项目、GitHub 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、 Mac OS 和 Android 等多个桌面平台的程序,不依赖浏览器。