vpd621.fun Open in urlscan Pro
2600:9000:2491:6800:12:8386:8dc0:93a1  Public Scan

URL: https://vpd621.fun/
Submission: On June 24 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

静态类型有很多好处,这也是 TypeScript 想要达到的目的。

TypeScript 可以看成是 JavaScript 的超集(superset),即它继承了后者的全部语法,所有 JavaScript 脚本都可以当作
TypeScript 脚本(但是可能会报错),此外它再增加了一些自己的语法。

上面示例是合法的 JavaScript 代码,但是没有意义,不应该将数值a与布尔值b相加。TypeScript
就会直接报错,提示运算符+不能用于数值和布尔值的相加。



商务洽谈 原创入驻 联系客服

对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系,JAVASCRIPT
是必不可少的工具。

(3)数据库操作

强大的性能

近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。

JAVASCRIPT 的语法很类似 C/C++ 和 JAVA,如果学过这些语言(事实上大多数学校都教),JAVASCRIPT 的入门会非常容易。

推荐安装 CHROME 浏览器,它的“开发者工具”(DEVELOPER TOOLS)里面的“控制台”(CONSOLE),就是运行 JAVASCRIPT
代码的理想环境。

(1)浏览器的平台化

本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。

浏览器 API

JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6
和更新的语法请参考我写的《ECMASCRIPT 6入门》。

JAVASCRIPT
的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。

“所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE
WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.)

JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6
和更新的语法请参考我写的《ECMASCRIPT 6入门》。

(5)内嵌脚本语言

(7)小结

NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT
开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。



PHONEGAP 项目就是将 JAVASCRIPT 和 HTML5 打包在一个容器之中,使得它能同时在 IOS 和安卓上运行。FACEBOOK 公司的
REACT NATIVE 项目则是将 JAVASCRIPT 写的组件,编译成原生组件,从而使它们具备优秀的性能。



实验环境

进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT +
ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。

首先,它涉及大量的外部 API。JAVASCRIPT
要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。

NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT
开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。

尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

(1)浏览器的平台化

JAVASCRIPT 甚至也可以用来操作数据库。NOSQL 数据库这个概念,本身就是在 JSON(JAVASCRIPT OBJECT
NOTATION)格式的基础上诞生的,大部分 NOSQL 数据库允许 JAVASCRIPT 直接操作。基于 SQL 语言的开源数据库 POSTGRESQL 支持
JAVASCRIPT 作为操作语言,可以部分取代 SQL 查询语言。



JAVASCRIPT 的性能优势体现在以下方面。

作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。

(2)NODE

CHROMIUM OS、WINDOWS 8 等操作系统直接支持 JAVASCRIPT 编写应用程序。MOZILLA 的 OPEN WEB APPS
项目、GOOGLE 的 CHROME APP 项目、GITHUB 的 ELECTRON 项目、以及 TIDESDK 项目,都可以用来编写运行于
WINDOWS、MAC OS 和 ANDROID 等多个桌面平台的程序,不依赖浏览器。

作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

社区支持和就业机会

JAVASCRIPT 既支持类似 C
语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。

JAVASCRIPT 的语法很类似 C/C++ 和 JAVA,如果学过这些语言(事实上大多数学校都教),JAVASCRIPT 的入门会非常容易。

DOM



JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

CHROMIUM OS、WINDOWS 8 等操作系统直接支持 JAVASCRIPT 编写应用程序。MOZILLA 的 OPEN WEB APPS
项目、GOOGLE 的 CHROME APP 项目、GITHUB 的 ELECTRON 项目、以及 TIDESDK 项目,都可以用来编写运行于
WINDOWS、MAC OS 和 ANDROID 等多个桌面平台的程序,不依赖浏览器。

浏览器控制类:操作浏览器

JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。

标准库

标准库

著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”:

JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与
I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层
API。

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。

(6)跨平台的桌面应用程序



尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

(3)与主流语言的相似性

(2)支持编译运行。

JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与
I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层
API。

(3)数据库操作

只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供
JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

基本语法

直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX)

JAVASCRIPT 是一种轻量级的脚本语言。所谓“脚本语言”(SCRIPT
LANGUAGE),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。



“所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE
WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.)

PHONEGAP 项目就是将 JAVASCRIPT 和 HTML5 打包在一个容器之中,使得它能同时在 IOS 和安卓上运行。FACEBOOK 公司的
REACT NATIVE 项目则是将 JAVASCRIPT 写的组件,编译成原生组件,从而使它们具备优秀的性能。

开放性

JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。

MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。

本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。

(1)学习环境无处不在

可以预期,JAVASCRIPT
最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB
上使用量排名第一的语言。

MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。

MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。





作为项目负责人,你不难招聘到数量众多的 JavaScript 程序员;作为开发者,你也不难找到一份 JavaScript 的工作。

JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。

强大的性能

相比其他脚本语言(比如 PYTHON 或 RUBY),JAVASCRIPT
的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。

全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。

尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

不同公司的 JAVASCRIPT 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。

JAVASCRIPT 既支持类似 C
语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。

尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。



JAVASCRIPT
的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。

浏览器控制类:操作浏览器

开放性

操控浏览器的能力

(7)小结

(5)内嵌脚本语言

强大的性能

NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT
开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。

作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

下载后请开启飞行模式安装
扫码下载
苹果安装提示
请使用Safari浏览器打开
安卓安装提示
建议UC/夸克浏览器打开

作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。

“所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE
WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.)

浏览器 API

MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。

(4)移动平台开发

浏览器控制类:操作浏览器

(3)数据库操作

此外,还有一种 WEBASSEMBLY 格式,它是 JAVASCRIPT
引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成
WEBASSEMBLY,就可以在浏览器里面运行。

(1)灵活的语法,表达力强。

(3)与主流语言的相似性

如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 NODE 环境中找到。



JAVASCRIPT 既支持类似 C
语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。



(3)事件驱动和非阻塞式设计。

JAVASCRIPT 也正在成为手机应用的开发语言。一般来说,安卓平台使用 JAVA 语言开发,IOS 平台使用 OBJECTIVE-C 或 SWIFT
语言开发。许多人正在努力,让 JAVASCRIPT 成为各个平台的通用开发语言。

JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

开发者工具进入:开发者工具的快捷键是 F12,或者OPTION + COMMAND + I(MAC)以及CTRL + SHIFT + I(WINDOWS /
LINUX),然后选择 CONSOLE 面板



越来越多的应用程序,将 JAVASCRIPT 作为内嵌的脚本语言,比如 ADOBE 公司的著名 PDF 阅读器 ACROBAT、LINUX 桌面环境 GNOME
3。



越来越多的应用程序,将 JAVASCRIPT 作为内嵌的脚本语言,比如 ADOBE 公司的著名 PDF 阅读器 ACROBAT、LINUX 桌面环境 GNOME
3。

(6)跨平台的桌面应用程序

浏览器 API



尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

(3)数据库操作

JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与
I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层
API。

(3)事件驱动和非阻塞式设计。

为什么学习 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 等多个桌面平台的程序,不依赖浏览器。

相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。

JAVASCRIPT
语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。

PHONEGAP 项目就是将 JAVASCRIPT 和 HTML5 打包在一个容器之中,使得它能同时在 IOS 和安卓上运行。FACEBOOK 公司的
REACT NATIVE 项目则是将 JAVASCRIPT 写的组件,编译成原生组件,从而使它们具备优秀的性能。

作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”:



作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

“所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE
WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.)

其次,JAVASCRIPT 语言有一些设计缺陷。某些地方相当不合理,另一些地方则会出现怪异的运行结果。学习
JAVASCRIPT,很大一部分时间是用来搞清楚哪些地方有陷阱。DOUGLAS CROCKFORD 写过一本有名的书,名字就叫《JAVASCRIPT: THE
GOOD PARTS》,言下之意就是这门语言不好的地方很多,必须写一本书才能讲清楚。另外一些程序员则感到,为了更合理地编写 JAVASCRIPT 程序,就不能用
JAVASCRIPT 来写,而必须发明新的语言,比如 COFFEESCRIPT、TYPESCRIPT、DART 这些新语言的发明目的,多多少少都有这个因素。

进入 CHROME 浏览器的“控制台”,有两种方法。

开放性

(2)支持编译运行。

JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。

JAVASCRIPT 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和
SPIDERMONKEY 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。

“所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE
WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.)

首先,它涉及大量的外部 API。JAVASCRIPT
要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。

只要有浏览器,就能运行 JavaScript 程序;只要有文本编辑器,就能编写 JavaScript 程序。这意味着,几乎所有电脑都原生提供
JavaScript 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

PhoneGap 项目就是将 JavaScript 和 HTML5 打包在一个容器之中,使得它能同时在 iOS 和安卓上运行。Facebook 公司的
React Native 项目则是将 JavaScript 写的组件,编译成原生组件,从而使它们具备优秀的性能。

JavaScript 也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-C 或 Swift
语言开发。许多人正在努力,让 JavaScript 成为各个平台的通用开发语言。

进入控制台以后,就可以在提示符后输入代码,然后按Enter键,代码就会执行。如果按Shift +
Enter键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。

推荐安装 Chrome 浏览器,它的“开发者工具”(Developer Tools)里面的“控制台”(console),就是运行 JavaScript
代码的理想环境。

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。

推荐安装 CHROME 浏览器,它的“开发者工具”(DEVELOPER TOOLS)里面的“控制台”(CONSOLE),就是运行 JAVASCRIPT
代码的理想环境。

易学性

作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。

目前,全世界几乎所有网页都使用 JAVASCRIPT。如果不用,网站的易用性和使用效率将大打折扣,无法成为操作便利、对用户友好的网站。

标准库

(1)学习环境无处不在

(3)与主流语言的相似性

可以预期,JAVASCRIPT
最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB
上使用量排名第一的语言。

如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 Node 环境中找到。

近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。

JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与
I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层
API。

只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供
JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

进入 Chrome 浏览器的“控制台”,有两种方法。

标准库

进入控制台以后,就可以在提示符后输入代码,然后按Enter键,代码就会执行。如果按Shift +
Enter键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。

(5)内嵌脚本语言

JavaScript
语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。

JavaScript
语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。

JAVASCRIPT 的性能优势体现在以下方面。

本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。

(4)移动平台开发

(4)移动平台开发

JAVASCRIPT 既支持类似 C
语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。

目前,全世界几乎所有网页都使用 JAVASCRIPT。如果不用,网站的易用性和使用效率将大打折扣,无法成为操作便利、对用户友好的网站。

(2)支持编译运行。

目前,全世界几乎所有网页都使用 JAVASCRIPT。如果不用,网站的易用性和使用效率将大打折扣,无法成为操作便利、对用户友好的网站。

如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 NODE 环境中找到。

全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。

相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。

JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

(5)内嵌脚本语言

(1)灵活的语法,表达力强。

广泛的使用领域

从语法角度看,JAVASCRIPT 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JAVASCRIPT
控制这些功能。但是,JAVASCRIPT 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JAVASCRIPT
都有多种解决方法。阅读本书的过程中,你会诧异于 JAVASCRIPT 语法的灵活性。

强大的性能



NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT
开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。

实验环境

DOM 类:操作网页的各种元素



标准库

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。



JAVASCRIPT 也正在成为手机应用的开发语言。一般来说,安卓平台使用 JAVA 语言开发,IOS 平台使用 OBJECTIVE-C 或 SWIFT
语言开发。许多人正在努力,让 JAVASCRIPT 成为各个平台的通用开发语言。

(2)NODE

JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。

(2)简单性

(1)浏览器的平台化

进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT +
ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。

尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。

JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与
I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层
API。

只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供
JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。



JAVASCRIPT 的语法很类似 C/C++ 和 JAVA,如果学过这些语言(事实上大多数学校都教),JAVASCRIPT 的入门会非常容易。



安卓手机下载



若无法弹出下载,请重试或使用UC/夸克浏览器打开
若APP无法安装,请开启飞行模式安装

APP下载启动中...

标准库

JavaScript 的语法很类似 C/C++ 和 Java,如果学过这些语言(事实上大多数学校都教),JavaScript 的入门会非常容易。

作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

DOM 类:操作网页的各种元素

JavaScript 甚至也可以用来操作数据库。NoSQL 数据库这个概念,本身就是在 JSON(JavaScript Object
Notation)格式的基础上诞生的,大部分 NoSQL 数据库允许 JavaScript 直接操作。基于 SQL 语言的开源数据库 PostgreSQL 支持
JavaScript 作为操作语言,可以部分取代 SQL 查询语言。

相比学习其他语言,学习 JavaScript 有一些有利条件。

(3)事件驱动和非阻塞式设计。

目前,已经嵌入 JAVASCRIPT 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 NODE 项目。

Web 类:实现互联网的各种功能

(3)与主流语言的相似性

此外,还有一种 WebAssembly 格式,它是 JavaScript
引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成
WebAssembly,就可以在浏览器里面运行。

JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。



标准库

JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。

JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6
和更新的语法请参考我写的《ECMASCRIPT 6入门》。

对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系,JAVASCRIPT
是必不可少的工具。

强大的性能

基本语法

JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。

作为项目负责人,你不难招聘到数量众多的 JavaScript 程序员;作为开发者,你也不难找到一份 JavaScript 的工作。

语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。

操控浏览器的能力

(1)学习环境无处不在

全世界程序员都在使用 JavaScript,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。



相比学习其他语言,学习 JavaScript 有一些有利条件。



作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。

实验环境

JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6
和更新的语法请参考我写的《ECMASCRIPT 6入门》。

JAVASCRIPT 的性能优势体现在以下方面。

只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供
JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

(3)与主流语言的相似性

推荐安装 CHROME 浏览器,它的“开发者工具”(DEVELOPER TOOLS)里面的“控制台”(CONSOLE),就是运行 JAVASCRIPT
代码的理想环境。

尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT
功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。

推荐安装 CHROME 浏览器,它的“开发者工具”(DEVELOPER TOOLS)里面的“控制台”(CONSOLE),就是运行 JAVASCRIPT
代码的理想环境。

相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。

作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。

易学性

(7)小结

操控浏览器的能力

进入 CHROME 浏览器的“控制台”,有两种方法。

全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。

(5)内嵌脚本语言



作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。



JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。



本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。

浏览器控制类:操作浏览器

JAVASCRIPT
语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。



JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

基本语法

直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX)

强大的性能

越来越多的应用程序,将 JavaScript 作为内嵌的脚本语言,比如 Adobe 公司的著名 PDF 阅读器 Acrobat、Linux 桌面环境 GNOME
3。

实验环境

NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT
开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。

上面示例中,函数addOne()传入了一个字符串hello,TypeScript 发现类型不对,就报错了,指出这个位置只能传入数值,不能传入字符串。
类型的概念
另外,TypeScript 是一个开源项目,接受社区的参与,核心的编译器采用 Apache 2.0
许可证。微软希望通过这种做法,迅速提高这门语言在社区的接受度。

本书假定读者已经了解 JAVASCRIPT 语言,就不再介绍它的语法了,只介绍 TYPESCRIPT 引入的新语法,主要是类型系统。


(2)增加了编程工作量。
上面示例中,函数ADDONE()有一个参数N,类型为数值(NUMBER),表示这个位置只能使用数值,传入其他类型的值就会报错。


TYPESCRIPT(简称 TS)是微软公司开发的一种基于 JAVASCRIPT (简称 JS)语言的编程语言。


2023年,TYPESCRIPT 5.0 版本发布。
上面示例中,不小心把MESSAGE拼错了,写成MESSEGE。TYPESCRIPT 就会报错,指出没有定义过这个属性。JAVASCRIPT
遇到这种情况是不报错的。
(1)丧失了动态类型的代码灵活性。

类型信息大大减轻了重构的成本。一般来说,只要函数或对象的参数和返回值保持类型不变,就能基本确定,重构后的代码也能正常运行。如果还有配套的单元测试,就完全可以放心重构。越是大型的、多人合作的项目,类型信息能够提供的帮助越大。


(1)丧失了动态类型的代码灵活性。 概述


作为比较,TYPESCRIPT
是在开发阶段报错,这样有利于提早发现错误,避免使用时报错。另一方面,函数定义里面加入类型,具有提示作用,可以告诉开发者这个函数怎么用。