zdo511.fun
Open in
urlscan Pro
2606:4700:3034::ac43:9d73
Public Scan
URL:
https://zdo511.fun/
Submission: On June 16 via api from US — Scanned from DE
Submission: On June 16 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
2014年,TypeScript 1.0 版本发布。同年,代码仓库搬到了 GitHub。 总的来说,这些缺点使得 TypeScript 不一定适合那些小型的、短期的个人项目。 这对于大型项目非常重要,单单在开发阶段运行静态检查,就可以发现很多问题,避免交付有问题的代码,大大降低了线上风险。 (3)更好的 IDE 支持,做到语法提示和自动补全。 TYPESCRIPT 依赖 JAVASCRIPT 生态,需要用到很多外部模块。但是,过去大部分 JAVASCRIPT 项目都没有做 TYPESCRIPT 适配,虽然可以自己动手做适配,不过使用时难免还是会有一些兼容性问题。 2012年,微软公司宣布推出 TYPESCRIPT 语言,设计者是著名的编程语言设计大师 ANDERS HEJLSBERG,他也是 C# 和 .NET 的设计师。 类型信息可以部分替代代码文档,解释应该如何使用这些代码,熟练的开发者往往只看类型,就能大致推断代码的作用。借助类型信息,很多工具能够直接生成文档。 2020年,TYPESCRIPT 4.0 版本发布。 (5)有助于代码重构。 TYPESCRIPT(简称 TS)是微软公司开发的一种基于 JAVASCRIPT (简称 JS)语言的编程语言。 静态类型有很多好处,这也是 TYPESCRIPT 想要达到的目的。 著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”: 直接进入:按下Option + Command + J(Mac)或者Ctrl + Shift + J(Windows / Linux) JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 (5)内嵌脚本语言 (3)事件驱动和非阻塞式设计。 此外,还有一种 WebAssembly 格式,它是 JavaScript 引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成 WebAssembly,就可以在浏览器里面运行。 广泛的使用领域 随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。 JavaScript 语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。 (4)移动平台开发 广泛的使用领域 浏览器控制类:操作浏览器 开放性 直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX) JavaScript 的语法很类似 C/C++ 和 Java,如果学过这些语言(事实上大多数学校都教),JavaScript 的入门会非常容易。 JAVASCRIPT 的性能优势体现在以下方面。 JavaScript 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和 SpiderMonkey 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。 浏览器 API 首先,它涉及大量的外部 API。JAVASCRIPT 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。 操控浏览器的能力 易学性 “所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.) 本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。 不同公司的 JAVASCRIPT 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。 作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。 易学性 进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT + ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。 DOM 广泛的使用领域 本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。 JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 操控浏览器的能力 Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序。Mozilla 的 Open Web Apps 项目、Google 的 Chrome App 项目、GitHub 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等多个桌面平台的程序,不依赖浏览器。 JavaScript 也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-C 或 Swift 语言开发。许多人正在努力,让 JavaScript 成为各个平台的通用开发语言。 (3)与主流语言的相似性 社区支持和就业机会 浏览器控制类:操作浏览器 作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。 作为项目负责人,你不难招聘到数量众多的 JavaScript 程序员;作为开发者,你也不难找到一份 JavaScript 的工作。 全世界程序员都在使用 JavaScript,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。 “所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.) 广泛的使用领域 相比其他脚本语言(比如 Python 或 Ruby),JavaScript 的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。 JavaScript 甚至也可以用来操作数据库。NoSQL 数据库这个概念,本身就是在 JSON(JavaScript Object Notation)格式的基础上诞生的,大部分 NoSQL 数据库允许 JavaScript 直接操作。基于 SQL 语言的开源数据库 PostgreSQL 支持 JavaScript 作为操作语言,可以部分取代 SQL 查询语言。 PhoneGap 项目就是将 JavaScript 和 HTML5 打包在一个容器之中,使得它能同时在 iOS 和安卓上运行。Facebook 公司的 React Native 项目则是将 JavaScript 写的组件,编译成原生组件,从而使它们具备优秀的性能。 开发者工具进入:开发者工具的快捷键是 F12,或者OPTION + COMMAND + I(MAC)以及CTRL + SHIFT + I(WINDOWS / LINUX),然后选择 CONSOLE 面板 开放性 JAVASCRIPT 的性能优势体现在以下方面。 (3)事件驱动和非阻塞式设计。 JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 CHROMIUM OS、WINDOWS 8 等操作系统直接支持 JAVASCRIPT 编写应用程序。MOZILLA 的 OPEN WEB APPS 项目、GOOGLE 的 CHROME APP 项目、GITHUB 的 ELECTRON 项目、以及 TIDESDK 项目,都可以用来编写运行于 WINDOWS、MAC OS 和 ANDROID 等多个桌面平台的程序,不依赖浏览器。 本教程包含大量的示例代码,只要电脑安装了浏览器,就可以用来实验了。读者可以一边读一边运行示例,加深理解。 相比其他脚本语言(比如 PYTHON 或 RUBY),JAVASCRIPT 的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。 (2)简单性 从语法角度看,JAVASCRIPT 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JAVASCRIPT 控制这些功能。但是,JAVASCRIPT 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JAVASCRIPT 都有多种解决方法。阅读本书的过程中,你会诧异于 JAVASCRIPT 语法的灵活性。 浏览器 API 只要有浏览器,就能运行 JavaScript 程序;只要有文本编辑器,就能编写 JavaScript 程序。这意味着,几乎所有电脑都原生提供 JavaScript 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。 目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。 (2)简单性 DOM 广泛的使用领域 易学性 (6)跨平台的桌面应用程序 JavaScript 的语法很类似 C/C++ 和 Java,如果学过这些语言(事实上大多数学校都教),JavaScript 的入门会非常容易。 进入 Chrome 浏览器的“控制台”,有两种方法。 广泛的使用领域 操控浏览器的能力 目前,已经嵌入 JAVASCRIPT 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 NODE 项目。 可以预期,JAVASCRIPT 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB 上使用量排名第一的语言。 其次,JavaScript 语言有一些设计缺陷。某些地方相当不合理,另一些地方则会出现怪异的运行结果。学习 JavaScript,很大一部分时间是用来搞清楚哪些地方有陷阱。Douglas Crockford 写过一本有名的书,名字就叫《JavaScript: The Good Parts》,言下之意就是这门语言不好的地方很多,必须写一本书才能讲清楚。另外一些程序员则感到,为了更合理地编写 JavaScript 程序,就不能用 JavaScript 来写,而必须发明新的语言,比如 CoffeeScript、TypeScript、Dart 这些新语言的发明目的,多多少少都有这个因素。 随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。 浏览器控制类:操作浏览器 直接进入:按下Option + Command + J(Mac)或者Ctrl + Shift + J(Windows / Linux) 只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供 JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。 JAVASCRIPT 也正在成为手机应用的开发语言。一般来说,安卓平台使用 JAVA 语言开发,IOS 平台使用 OBJECTIVE-C 或 SWIFT 语言开发。许多人正在努力,让 JAVASCRIPT 成为各个平台的通用开发语言。 JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。 (3)事件驱动和非阻塞式设计。 越来越多的应用程序,将 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 等多个桌面平台的程序,不依赖浏览器。 广泛的使用领域 随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。 (2)NODE 开发者工具进入:开发者工具的快捷键是 F12,或者OPTION + COMMAND + I(MAC)以及CTRL + SHIFT + I(WINDOWS / LINUX),然后选择 CONSOLE 面板 DOM 类:操作网页的各种元素 JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。 JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 浏览器控制类:操作浏览器 JAVASCRIPT 语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。 (2)简单性 基本语法 此外,还有一种 WEBASSEMBLY 格式,它是 JAVASCRIPT 引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成 WEBASSEMBLY,就可以在浏览器里面运行。 MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。 易学性 进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT + ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。 基本语法 本教程包含大量的示例代码,只要电脑安装了浏览器,就可以用来实验了。读者可以一边读一边运行示例,加深理解。 其次,JAVASCRIPT 语言有一些设计缺陷。某些地方相当不合理,另一些地方则会出现怪异的运行结果。学习 JAVASCRIPT,很大一部分时间是用来搞清楚哪些地方有陷阱。DOUGLAS CROCKFORD 写过一本有名的书,名字就叫《JAVASCRIPT: THE GOOD PARTS》,言下之意就是这门语言不好的地方很多,必须写一本书才能讲清楚。另外一些程序员则感到,为了更合理地编写 JAVASCRIPT 程序,就不能用 JAVASCRIPT 来写,而必须发明新的语言,比如 COFFEESCRIPT、TYPESCRIPT、DART 这些新语言的发明目的,多多少少都有这个因素。 (5)内嵌脚本语言 目前,已经嵌入 JAVASCRIPT 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 NODE 项目。 进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT + ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。 JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 (3)数据库操作 如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 NODE 环境中找到。 JAVASCRIPT 程序可以采用事件驱动(EVENT-DRIVEN)和非阻塞式(NON-BLOCKING)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。 JAVASCRIPT 程序可以采用事件驱动(EVENT-DRIVEN)和非阻塞式(NON-BLOCKING)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。 随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JAVASCRIPT 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JAVASCRIPT 可以完成许多以前无法想象的事情。 可以预期,JAVASCRIPT 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB 上使用量排名第一的语言。 (2)支持编译运行。 进入 CHROME 浏览器的“控制台”,有两种方法。 (1)灵活的语法,表达力强。 JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 (4)移动平台开发 JAVASCRIPT 的语法很类似 C/C++ 和 JAVA,如果学过这些语言(事实上大多数学校都教),JAVASCRIPT 的入门会非常容易。 作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。 (2)NODE 下载后请开启飞行模式安装 扫码下载 苹果安装提示 请使用Safari浏览器打开 安卓安装提示 建议UC/夸克浏览器打开 本APP属于特殊行业,偶尔会误报毒提醒, 如有报毒提示,请点击忽略,并开启飞行模式安装即可! 可以预期,JAVASCRIPT 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB 上使用量排名第一的语言。 (3)事件驱动和非阻塞式设计。 (5)内嵌脚本语言 只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供 JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。 (7)小结 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: 从语法角度看,JAVASCRIPT 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JAVASCRIPT 控制这些功能。但是,JAVASCRIPT 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JAVASCRIPT 都有多种解决方法。阅读本书的过程中,你会诧异于 JAVASCRIPT 语法的灵活性。 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 JAVASCRIPT 程序可以采用事件驱动(EVENT-DRIVEN)和非阻塞式(NON-BLOCKING)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。 (7)小结 开发者工具进入:开发者工具的快捷键是 F12,或者OPTION + COMMAND + I(MAC)以及CTRL + SHIFT + I(WINDOWS / LINUX),然后选择 CONSOLE 面板 本教程包含大量的示例代码,只要电脑安装了浏览器,就可以用来实验了。读者可以一边读一边运行示例,加深理解。 (5)内嵌脚本语言 JAVASCRIPT 是一种轻量级的脚本语言。所谓“脚本语言”(SCRIPT LANGUAGE),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 JAVASCRIPT 的性能优势体现在以下方面。 (6)跨平台的桌面应用程序 (1)浏览器的平台化 WEB 类:实现互联网的各种功能 作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 社区支持和就业机会 DOM JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系,JAVASCRIPT 是必不可少的工具。 MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 越来越多的应用程序,将 JAVASCRIPT 作为内嵌的脚本语言,比如 ADOBE 公司的著名 PDF 阅读器 ACROBAT、LINUX 桌面环境 GNOME 3。 只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供 JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。 DOM 浏览器控制类:操作浏览器 不同公司的 JAVASCRIPT 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。 JAVASCRIPT 是一种轻量级的脚本语言。所谓“脚本语言”(SCRIPT LANGUAGE),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 JAVASCRIPT 是一种轻量级的脚本语言。所谓“脚本语言”(SCRIPT LANGUAGE),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6 和更新的语法请参考我写的《ECMASCRIPT 6入门》。 JAVASCRIPT 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和 SPIDERMONKEY 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。 目前,已经嵌入 JAVASCRIPT 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 NODE 项目。 进入控制台以后,就可以在提示符后输入代码,然后按ENTER键,代码就会执行。如果按SHIFT + ENTER键,就是代码换行,不会触发执行。建议阅读本教程时,将代码复制到控制台进行实验。 必须说明的是,虽然核心语法不难,但是 JAVASCRIPT 的复杂性体现在另外两个方面。 (6)跨平台的桌面应用程序 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX) (2)支持编译运行。 为什么学习 JAVASCRIPT? 尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT 功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。 实验环境 JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 必须说明的是,虽然核心语法不难,但是 JAVASCRIPT 的复杂性体现在另外两个方面。 作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以看到运行结果。 浏览器控制类:操作浏览器 PHONEGAP 项目就是将 JAVASCRIPT 和 HTML5 打包在一个容器之中,使得它能同时在 IOS 和安卓上运行。FACEBOOK 公司的 REACT NATIVE 项目则是将 JAVASCRIPT 写的组件,编译成原生组件,从而使它们具备优秀的性能。 JAVASCRIPT 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 (3)与主流语言的相似性 只要有浏览器,就能运行 JAVASCRIPT 程序;只要有文本编辑器,就能编写 JAVASCRIPT 程序。这意味着,几乎所有电脑都原生提供 JAVASCRIPT 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。 从语法角度看,JAVASCRIPT 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JAVASCRIPT 控制这些功能。但是,JAVASCRIPT 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JAVASCRIPT 都有多种解决方法。阅读本书的过程中,你会诧异于 JAVASCRIPT 语法的灵活性。 易学性 JAVASCRIPT 语言有一些显著特点,使得它非常值得学习。它既适合作为学习编程的入门语言,也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。 强大的性能 JAVASCRIPT 的性能优势体现在以下方面。 为什么学习 JAVASCRIPT? 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 强大的性能 实验环境 (1)浏览器的平台化 本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。 相比其他脚本语言(比如 PYTHON 或 RUBY),JAVASCRIPT 的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。 JAVASCRIPT 既支持类似 C 语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。 易学性 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 广泛的使用领域 JAVASCRIPT 是一种轻量级的脚本语言。所谓“脚本语言”(SCRIPT LANGUAGE),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 (1)灵活的语法,表达力强。 直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX) 必须说明的是,虽然核心语法不难,但是 JAVASCRIPT 的复杂性体现在另外两个方面。 开放性 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX) 首先,它涉及大量的外部 API。JAVASCRIPT 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。 首先,它涉及大量的外部 API。JAVASCRIPT 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。 NODE 项目使得 JAVASCRIPT 可以用于开发服务器端的大型项目,网站的前后端都用 JAVASCRIPT 开发已经成为了现实。有些嵌入式平台(RASPBERRY PI)能够安装 NODE,于是 JAVASCRIPT 就能为这些平台开发应用程序。 全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。 基本语法 越来越多的应用程序,将 JAVASCRIPT 作为内嵌的脚本语言,比如 ADOBE 公司的著名 PDF 阅读器 ACROBAT、LINUX 桌面环境 GNOME 3。 “所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.) 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: WEB 类:实现互联网的各种功能 (1)浏览器的平台化 不同公司的 JAVASCRIPT 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。 (1)学习环境无处不在 JAVASCRIPT 甚至也可以用来操作数据库。NOSQL 数据库这个概念,本身就是在 JSON(JAVASCRIPT OBJECT NOTATION)格式的基础上诞生的,大部分 NOSQL 数据库允许 JAVASCRIPT 直接操作。基于 SQL 语言的开源数据库 POSTGRESQL 支持 JAVASCRIPT 作为操作语言,可以部分取代 SQL 查询语言。 (1)学习环境无处不在 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 (5)内嵌脚本语言 全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。 JAVASCRIPT 既支持类似 C 语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(CONCURRENT)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。 强大的性能 开发者工具进入:开发者工具的快捷键是 F12,或者OPTION + COMMAND + I(MAC)以及CTRL + SHIFT + I(WINDOWS / LINUX),然后选择 CONSOLE 面板 MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 JAVASCRIPT 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和 SPIDERMONKEY 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。 开放性 基本语法 全世界程序员都在使用 JAVASCRIPT,它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能,都有多个开源函数库可供选用。 (1)浏览器的平台化 易学性 MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 易学性 作为项目负责人,你不难招聘到数量众多的 JAVASCRIPT 程序员;作为开发者,你也不难找到一份 JAVASCRIPT 的工作。 JAVASCRIPT 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如ARRAY、DATE、MATH等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JAVASCRIPT 调用。以浏览器为例,它提供的额外 API 可以分成三大类。 若无法弹出下载,请重试或使用uc/夸克浏览器打开 安卓手机下载 安卓安装包报毒解决方案 本APP属于特殊行业,偶尔会误报毒提醒, 如有报毒提示,请点击忽略,并开启飞行模式安装即可! APP下载启动中... 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 为什么学习 JAVASCRIPT? “所有可以用 JAVASCRIPT 编写的程序,最终都会出现 JAVASCRIPT 的版本。”(ANY APPLICATION THAT CAN BE WRITTEN IN JAVASCRIPT WILL EVENTUALLY BE WRITTEN IN JAVASCRIPT.) 语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。 JAVASCRIPT 甚至也可以用来操作数据库。NOSQL 数据库这个概念,本身就是在 JSON(JAVASCRIPT OBJECT NOTATION)格式的基础上诞生的,大部分 NOSQL 数据库允许 JAVASCRIPT 直接操作。基于 SQL 语言的开源数据库 POSTGRESQL 支持 JAVASCRIPT 作为操作语言,可以部分取代 SQL 查询语言。 (3)事件驱动和非阻塞式设计。 必须说明的是,虽然核心语法不难,但是 JAVASCRIPT 的复杂性体现在另外两个方面。 JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: DOM 必须说明的是,虽然核心语法不难,但是 JAVASCRIPT 的复杂性体现在另外两个方面。 此外,还有一种 WEBASSEMBLY 格式,它是 JAVASCRIPT 引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成 WEBASSEMBLY,就可以在浏览器里面运行。 为什么学习 JAVASCRIPT? 强大的性能 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 DOM (2)NODE (7)小结 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 基本语法 本书主要介绍 JAVASCRIPT 核心语法和浏览器网页开发的基本知识,不涉及 NODE。全书可以分成以下四大部分。 (1)学习环境无处不在 WEB 类:实现互联网的各种功能 WEB 类:实现互联网的各种功能 (3)数据库操作 JAVASCRIPT 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。 语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。 操控浏览器的能力 (3)事件驱动和非阻塞式设计。 广泛的使用领域 基本语法 (3)事件驱动和非阻塞式设计。 标准库 尽管如此,目前看来,JAVASCRIPT 的地位还是无法动摇。加之,语言标准的快速进化,使得 JAVASCRIPT 功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JAVASCRIPT 还是值得学习,况且它的入门真的不难。 JAVASCRIPT 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JAVASCRIPT 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JAVASCRIPT 引擎正在快速发展,性能将越来越好。 直接进入:按下OPTION + COMMAND + J(MAC)或者CTRL + SHIFT + J(WINDOWS / LINUX) (3)事件驱动和非阻塞式设计。 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: 目前,已经嵌入 JAVASCRIPT 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 NODE 项目。 近年来,JAVASCRIPT 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 MOZILLA 基金会的手机操作系统 FIREFOX OS,更是直接将 JAVASCRIPT 作为操作系统的平台语言,但是很可惜这个项目没有成功。 (6)跨平台的桌面应用程序 WEB 类:实现互联网的各种功能 (3)数据库操作 JAVASCRIPT 也是一种嵌入式(EMBEDDED)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JAVASCRIPT 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(HOST)提供,所以 JAVASCRIPT 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 其次,JAVASCRIPT 语言有一些设计缺陷。某些地方相当不合理,另一些地方则会出现怪异的运行结果。学习 JAVASCRIPT,很大一部分时间是用来搞清楚哪些地方有陷阱。DOUGLAS CROCKFORD 写过一本有名的书,名字就叫《JAVASCRIPT: THE GOOD PARTS》,言下之意就是这门语言不好的地方很多,必须写一本书才能讲清楚。另外一些程序员则感到,为了更合理地编写 JAVASCRIPT 程序,就不能用 JAVASCRIPT 来写,而必须发明新的语言,比如 COFFEESCRIPT、TYPESCRIPT、DART 这些新语言的发明目的,多多少少都有这个因素。 JAVASCRIPT 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如ARRAY、DATE、MATH等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JAVASCRIPT 调用。以浏览器为例,它提供的额外 API 可以分成三大类。 首先,它涉及大量的外部 API。JAVASCRIPT 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。 首先,它涉及大量的外部 API。JAVASCRIPT 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。 如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 NODE 环境中找到。 操控浏览器的能力 社区支持和就业机会 DOM 目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。 JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 (1)浏览器的平台化 必须说明的是,虽然核心语法不难,但是 JavaScript 的复杂性体现在另外两个方面。 相比学习其他语言,学习 JAVASCRIPT 有一些有利条件。 不同公司的 JAVASCRIPT 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。 本书主要介绍 JavaScript 核心语法和浏览器网页开发的基本知识,不涉及 Node。全书可以分成以下四大部分。 操控浏览器的能力 JAVASCRIPT 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如ARRAY、DATE、MATH等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JAVASCRIPT 调用。以浏览器为例,它提供的额外 API 可以分成三大类。 浏览器控制类:操作浏览器 进入 CHROME 浏览器的“控制台”,有两种方法。 开放性 JAVASCRIPT 语言有多个版本。本书的内容主要基于 ECMASCRIPT 5.1 版本,这是学习 JAVASCRIPT 语法的基础。ES6 和更新的语法请参考我写的《ECMASCRIPT 6入门》。 (1)灵活的语法,表达力强。 如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 Node 环境中找到。 Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序。Mozilla 的 Open Web Apps 项目、Google 的 Chrome App 项目、GitHub 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等多个桌面平台的程序,不依赖浏览器。 JavaScript 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和 SpiderMonkey 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。 相比其他脚本语言(比如 PYTHON 或 RUBY),JAVASCRIPT 的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。 可以预期,JavaScript 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JavaScript 就是当年 GitHub 上使用量排名第一的语言。 必须说明的是,虽然核心语法不难,但是 JavaScript 的复杂性体现在另外两个方面。 推荐安装 Chrome 浏览器,它的“开发者工具”(Developer Tools)里面的“控制台”(console),就是运行 JavaScript 代码的理想环境。 WEB 类:实现互联网的各种功能 JAVASCRIPT 也正在成为手机应用的开发语言。一般来说,安卓平台使用 JAVA 语言开发,IOS 平台使用 OBJECTIVE-C 或 SWIFT 语言开发。许多人正在努力,让 JAVASCRIPT 成为各个平台的通用开发语言。 著名程序员 JEFF ATWOOD 甚至提出了一条 “ATWOOD 定律”: 从语法角度看,JAVASCRIPT 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JAVASCRIPT 控制这些功能。但是,JAVASCRIPT 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JAVASCRIPT 都有多种解决方法。阅读本书的过程中,你会诧异于 JAVASCRIPT 语法的灵活性。 可以预期,JAVASCRIPT 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JAVASCRIPT 就是当年 GITHUB 上使用量排名第一的语言。 WEB 类:实现互联网的各种功能 JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 JAVASCRIPT 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。 WEB 类:实现互联网的各种功能 (1)浏览器的平台化 为什么学习 JAVASCRIPT? 类型的概念 正是因为存在这些动态变化,所以 JavaScript 的类型系统是动态的,不具有很强的约束性。这对于提前发现代码错误,非常不利。 静态类型有很多好处,这也是 TypeScript 想要达到的目的。 上面示例中,hello()返回的是一个字符串,TypeScript 发现字符串没有find()方法,所以报错了。如果是 JavaScript,只有到运行阶段才会报错。 TypeScript(简称 TS)是微软公司开发的一种基于 JavaScript (简称 JS)语言的编程语言。 修改他人的 JavaScript 代码,往往非常痛苦,项目越大越痛苦,因为不确定修改后是否会影响到其他部分的代码。 综上所述,TYPESCRIPT 有助于提高代码质量,保证代码安全,更适合用在大型的企业级项目。这就是为什么大量 JAVASCRIPT 项目转成 TYPESCRIPT 的原因。