什么是 JavaScript?

JavaScript 是开发人员用来制作交互式网页的编程语言。从刷新社交媒体馈送到显示动画和交互式地图,JavaScript 函数可以改善网站的用户体验。作为一种客户端脚本语言,它是万维网的核心技术之一。例如,在浏览互联网时,每当您看到图像轮播、点击显示的下拉菜单或网页上动态更改的元素颜色时,就是 JavaScript 提供的效果。

JavaScript 的用途是什么?

很早以前,网页是静态的,类似于书中的页面。静态页面主要以固定的布局显示信息,无法完成我们现在对现代网站所期望的一切功能。JavaScript 作为浏览器端技术出现,使 Web 应用程序更加动态。使用 JavaScript,浏览器可以响应用户交互并改变网页上的内容布局。

随着语言不断成熟,JavaScript 开发人员建立了库、框架和编程实践,并开始在 Web 浏览器之外使用。今天,您可以使用 JavaScript 进行客户端和服务器端开发。我们在以下小节中提供了一些常见使用案例:

动态更新内容

您可以使用 JavaScript 函数来创建交互式功能,允许您的网站用户动态更新其内容。以下是这些交互式功能的几个例子:

·   通过单击按钮显示或隐藏信息

·   验证用户输入的表单数据,例如电话号码和电子邮件地址

·   鼠标悬停时更改网页按钮的颜色

·   生成弹出广告

·   放大或缩小图像

·   在网页上播放音频和视频

开发 Web 和移动应用程序

JavaScript 有一组内置代码库,称为 JavaScript 框架,用于 Web 和移动应用程序开发。开发人员可以使用许多开源或免费提供的框架来创建独立于平台的应用程序,这些应用程序只需构建一次,就可以在任何设备上运行。此外,JavaScript 代码是轻量级的,计算强度较低,因此开发人员可以轻松使用它来创建移动应用程序。

开发服务器端应用程序

开发人员使用 JavaScript 为现代应用程序构建稳健的后端基础设施。例如,服务器端 JavaScript 库使流式传输应用程序更加高效,因为它们内置了对客户端和服务器之间持续通信的支持。同样,共享文档编辑等在线协作工具是输入和输出密集型的,当这些工具用 JavaScript 编写时效果更好。

开发游戏

JavaScript 是一种方便的编程语言,开发人员可以用它来创建浏览器游戏。一些 JavaScript 代码库允许开发人员创建一个可运行的游戏,然后自动将游戏导出并分发到不同的 Web 和移动游戏平台。JavaScript 还支持开发人员对 2D 和 3D 动画图像和图形进行复杂的视觉渲染。

JavaScript 如何工作?

所有编程语言的工作原理都是将类似英语的语法翻译成机器代码,然后由操作系统运行。JavaScript 被广泛归类为脚本语言或直译式语言。JavaScript 代码被解释,即由 JavaScript 引擎直接翻译成底层机器语言代码。而其他编程语言是通过编译器在单独的步骤中将整个代码编译成机器代码。因此,所有的脚本语言都是编程语言,但不是所有的编程语言都是脚本语言。

JavaScript 引擎

JavaScript 引擎是运行 JavaScript 代码的计算机程序。第一个 JavaScript 引擎仅仅是解释器,但所有现代引擎都使用实时或运行时编译来提高性能。

客户端 JavaScript

客户端 JavaScript 指的是 JavaScript 在浏览器中的工作方式。在这种情况下,JavaScript 引擎位于浏览器代码内部。所有主流的 Web 浏览器都自带内置的 JavaScript 引擎。

Web 应用程序开发人员使用与各种事件(例如鼠标点击或鼠标悬停)相关联的不同函数编写 JavaScript 代码。这些函数对 HTML 和 CSS 进行修改。

以下是客户端 JavaScript 工作方式的概述:

1.   当您访问网页时,浏览器会加载该网页。

2.   在加载过程中,浏览器将页面及其所有元素(例如按钮、标签和下拉框)转换为一种称为文档对象模型(DOM)的数据结构。

3.   浏览器的 JavaScript 引擎将 JavaScript 代码转换成字节码。这段代码是 JavaScript 语法和计算机之间的中介。

4.   鼠标点击按钮等不同的事件触发相关 JavaScript 代码块的执行。然后,引擎解释字节码并对 DOM 进行修改。

5.   浏览器显示新的 DOM。

服务器端 JavaScript

服务器端 JavaScript 指的是后端服务器逻辑中编码语言的使用。在这种情况下,JavaScript 引擎直接位于服务器上。服务器端 JavaScript 函数可以访问数据库,执行不同的逻辑操作,并响应服务器操作系统触发的各种事件。服务器端脚本的主要优势在于,您可以根据自己的需求、访问权限和网站的信息请求高度定制网站响应。

客户端与服务器端

动态一词描述了客户端和服务器端的 JavaScript。动态行为是根据需要更新网页显示以生成新内容的能力。客户端和服务器端 JavaScript 的区别在于它们生成新内容的方式。服务器端代码通过使用应用程序逻辑和修改数据库中的数据来动态生成新内容。另一方面,客户端 JavaScript 通过使用用户界面逻辑并修改客户端上已有的网页内容,在浏览器中动态生成新内容。这两种情况下的含义略有不同,但却是相关的,而且这两种方法共同增强了用户体验。

除了动态功能的实现之外,这两种 JavaScript 用法的另一个区别是代码可以访问的资源。在客户端,浏览器控制 JavaScript 的运行时环境。代码只能访问浏览器允许它访问的资源。例如,除非您点击下载按钮,否则它不能将内容写入您的硬盘。另一方面,服务器端函数可以根据需要访问服务器计算机的所有资源。

什么是 JavaScript 库?

JavaScript 库是预先编写的代码片段的集合,Web 开发人员可以重用这些代码片段来执行标准的 JavaScript 函数。JavaScript 库代码根据需要插入到项目的其余代码中。如果您将 JavaScript 应用程序代码想象成一座房子,那么 JavaScript 库就像现成的家具,开发人员可以用它来改善房子的功能。

以下是 JavaScript 库的一些常见用途:

数据可视化

数据可视化对于用户查看统计数据至关重要,例如,在管理面板、控制面板和性能指标中。

Chart.js、ApexCharts 和 Algolia Places 等库具有内置函数,可用于创建在图表和地图中显示数据的 Web 应用程序。

DOM 操作

您可以使用 jQuery 和 Umbrella JS 等库来简化 Web 开发,因为它们提供了标准网站函数的代码,例如菜单动画、图像库、按钮、灯箱等。

表单

所有的 Web 开发都使用表单供网站访客联系某人、订购产品和注册活动。某些 JavaScript 库,例如 wForms、LiveValidation、Validanguage 和 qForms,简化了表单功能,包括表单验证、布局、条件和转换。

数学和文本函数

许多 Web 应用程序必须解算数学方程,并处理日期、时间和文本。与将所有这样的请求发送到服务器不同,在客户端处理一些请求会更有效。Web 开发人员使用诸如 Date.js、Sylvester 和 JavaScript URL 库之类的 JavaScript 库来完成这项工作。

什么是 JavaScript 框架?

像 JavaScript 库一样,JavaScript 框架是执行不同函数的预先编写的代码片段的集合,可以重用。然而,JavaScript 库是按需使用的专用工具,而 JavaScript 框架是帮助塑造和组织任何 Web 应用程序的完整工具集。如果您将 JavaScript 应用程序代码想象成一座房子,那么 JavaScript 框架就是用来建造这座房子的蓝图。

以下是 JavaScript 框架的一些使用案例示例:

Web 和移动应用程序开发

AngularJS 是一个框架,它简化了 Web 应用程序的开发和测试,例如电子商务应用程序、实时应用程序和视频应用程序。React Native 是另一个支持 iOS 和 Android 原生呈现移动应用程序开发的框架。

响应式 Web 开发

响应式网站可在任何设备上提供一致的用户体验。例如,移动设备和平板电脑的屏幕小于台式机和笔记本电脑的屏幕。您希望网站在较小的屏幕上也能准确地显示和呈现数据,例如,不要剪掉网站的两端。使用 Bootstrap 和 Ember.js 等框架,开发人员可以从响应式设计中受益,并轻松地跨不同平台定制网站的外观。

服务器端应用程序开发

Node.js 是一个服务器端的开源 JavaScript 框架,它在浏览器之外运行 JavaScript 代码。开发人员使用这个框架来构建可扩展、快速、可靠的基于网络的服务器端应用程序。它可以处理 HTTP 请求和数据流,支持文件系统,并同时管理多个后端进程。

什么是 HTML 和 CSS?

超文本标记语言(HTML)和级联样式表(CSS)是开发人员在前端开发中使用的另外两种编程语言。HTML 是大多数网页的基本构建块。所有的段落、章节、图像、标题和文本都是用 HTML 编写的。内容按照在 HTML 中编写的顺序出现在网站上。

CSS 是一种样式规则语言,我们用它来对 HTML 内容应用样式。您可以使用它来设计网站元素,例如背景颜色、字体、列和边框。

HTML 与CSS 与JavaScript

所有这三种语言一起在任何网站上打造积极的用户体验。虽然 HTML 和 CSS 主要用于操作静态内容,但是它们也可以与客户端 JavaScript 代码集成来动态更新内容。

例如,HTML 页面上的脚本代码块可以包含 JavaScript。当 HTML 页面加载到浏览器中时,浏览器可以处理 HTML 和内部 JavaScript 代码。

JavaScript 有哪些优势?

易于学习和使用

JavaScript 的语法受 Java 编程语言的启发,易于学习和编码。开发人员在几乎每个网站和移动应用程序中都使用 JavaScript 进行客户端脚本编写。过去十年中,Node.js 在后端编码方面也非常受欢迎。现在,很多主流的流媒体和视频平台都用 Node.js 编码。

获得平台独立性

与其他编程语言不同,您可以将 JavaScript 插入到任何网页中,并与许多其他 Web 开发框架和语言一起使用。JavaScript 代码编写之后,您就可以在任何机器上运行。因此,JavaScript 使应用程序开发独立于平台。

降低服务器负载

您可以使用 JavaScript 来降低服务器负载和减少网络拥塞,因为它可以运行逻辑操作,并在客户端上完成服务器的大量工作。例如,想一下填写注册表单的过程。JavaScript 会快速检查您是否在移动电话字段中输入了 10 位数字。如果这些请求被发送到服务器,您的页面将为每个错误重新加载,使注册过程非常缓慢而且冗长乏味。

改进用户界面

JavaScript 可以创建美观的网站,方便查找和处理复杂的信息。开发人员应用 JavaScript 来扩展功能和可读性,并使网站用户交互更加高效。

支持并发

JavaScript 可以并行运行几组不同的指令。在后端,Node.js 可以处理高度扩展的服务器响应,而不会消耗同样多的带宽。

JavaScript 有哪些限制?

编程语言使用变量作为实际数据值的占位符。例如,在一个代码块中,开发人员可以写 x=5,y=x+1。当代码运行时,计算机会自动将 x 和 y 分别改为 5 和 6,对它们执行函数。数据可以是各种类型,例如文本字符串、数字或日期。这就是为什么大多数编程语言允许您定义变量类型。变量类型定义后就不会改变;不能在字符串变量中存储数字。

例如,如果您告诉程序 x 和 y 是数字,然后执行运算 x+y,计算机将知道期望得到两个数字,并将它们相加。另一方面,如果您将 x 和 y 定义为字符串,则 + 运算符会将这两个字符串连在一起创建一个更长的单词。

弱类型语言

JavaScript 是一种弱类型语言,这意味着它不允许程序员定义变量类型。变量可以在运行时存储任何数据类型,运算采用变量类型。结果也可以转换为另一种数据类型,例如,一个运算可能将结果返回为字符串“5”而不是数字 5。这可能会导致意外的编码错误和由于类型错误导致的代码错误。

什么是 TypeScript?

TypeScript 是一种编程语言,它通过向语法中添加类型来改进 JavaScript。TypeScript 向 JavaScript 添加额外的语法,这样代码编辑器工具就可以及早发现编码错误。同时,TypeScript 代码转换成 JavaScript,并提供与 JavaScript 相同的所有优势。它也在应用程序中,与 JavaScript 框架和库一起运行。

JavaScript 有哪些限制?

适用于 JavaScript 的 AWS SDK 是一组开源、免费使用的 JavaScript 库,集成了 AWS 服务。它们支持 API 开发、高级抽象和三种类型的应用程序:

  • 适用于浏览器的 JavaScript
  • 适用于服务器的 Node.js
  • 适用于移动开发的 React Native

适用于 JavaScript 的 AWS SDK 完全用 TypeScript 编写,然后编译成 JavaScript。因此,您可以获得 TypeScript 的所有优势,而不必担心向后兼容性。

您可以通过阅读代码示例迁移指南或者直接从 GitHub 安装开始使用适用于 Java 的 AWS SDK。

什么是适用于 JavaScript 的 AWS Amplify?

AWS Amplify 是一组专门构建的工具和功能,允许前端 Web 和移动开发人员在 AWS 上快速轻松地构建全栈应用程序。Amplify 开源客户端库为不同类别的云操作提供以使用案例为中心的易用界面。Amplify JavaScript 库支持不同的 Web 和移动框架,包括 React、React Native、Angular、Ionic 和 Vue.js。您可以通过完成 Amplify JavaScript 的入门指南来开始使用。

通过 AWS 使用 JavaScript 的后续步骤

Standard Product Icons (Features) Squid Ink
查看其他与产品相关的资源
了解更多有关 AWS 对 JavaScript 支持的信息 
Sign up for a free account
注册免费账户

立即享受 AWS 免费套餐。

创建免费账户 
Standard Product Icons (Start Building) Squid Ink
开始在控制台中构建

在 AWS 管理控制台中,使用 JavaScript 开始构建。

登录