From da316f15cb5a3500d0e7f409e3c92b060de103b9 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Fri, 25 Oct 2024 14:41:26 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript_technologies_overview/index.md | 69 +++++++++++-------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 633a7efb50a09c..3c4b2e88fcfad6 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -1,6 +1,8 @@ --- title: JavaScript 技术概览 slug: Web/JavaScript/JavaScript_technologies_overview +l10n: + sourceCommit: 1b4e6d1156e8471d38deeea1567c35ef412c5f42 --- {{JsSidebar("Introductory")}} @@ -11,7 +13,7 @@ slug: Web/JavaScript/JavaScript_technologies_overview ## JavaScript 核心语言(ECMAScript) -JavaScript 的核心语言是 ECMAScript,是一门由 ECMA TC39 委员会标准化的编程语言。“ECMAScript”是语言标准的术语,但“ECMAScript”和“JavaScript”是可以互换使用的。 +JavaScript 的核心语言由 ECMA TC39 委员会标准化为称作 ECMAScript 的语言。“ECMAScript”是表示语言标准的术语,但“ECMAScript”和“JavaScript”是可以互换使用的。 该核心语言同样可以被用在非浏览器环境之中,例如 [Node.js](https://nodejs.org)。 @@ -20,10 +22,10 @@ JavaScript 的核心语言是 ECMAScript,是一门由 ECMA TC39 委员会标 除却一些其他元素,ECMAScript 定义了: - 语法(解析规则、关键词、流程控制、对象初始化,等等) -- 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义{{jsxref("Error", "错误", "", 1)}}类型的能力) -- 类型(布尔值、数字、字符串、函数、对象,等等) +- 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义{{jsxref("Error")}}类型的能力) +- 类型(布尔、数字、字符串、函数、对象,等等) - 基于原型的继承机制 -- 内置对象和函数({{jsxref("JSON")}}、{{jsxref("Math")}}、[Array](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array) 方法、{{jsxref("parseInt")}}、{{jsxref("decodeURI")}},等等) +- 内置对象和函数({{jsxref("JSON")}}、{{jsxref("Math")}}、[数组](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array) 方法、{{jsxref("parseInt")}}、{{jsxref("decodeURI")}},等等) - [严格模式](/zh-CN/docs/Web/JavaScript/Reference/Strict_mode) - [模块系统](/zh-CN/docs/Web/JavaScript/Guide/Modules) - 基本内存模型 @@ -42,7 +44,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ## 国际化 API -由 ECMA TC39 进行标准化的 [ECMAScript 国际化 API 规范](https://402.ecma-international.org/1.0/)是在 ECMAScript 语言规范之上额外增加的。国际化 API 为 JavaScript 提供了国际化的规则排序(字符串比较)、数字格式化、日期时间格式化等功能,能够让应用选择语言,并根据实际需要选用功能。本标准在 2012 年 12 月审批通过,可以在 {{jsxref("Intl")}} 对象页面查看各个浏览器对其的实现情况。如今,国际化规范也每年批准一次,浏览器不断改进其实现。 +由 ECMA TC39 进行标准化的 [ECMAScript 国际化 API 规范](https://402.ecma-international.org/1.0/)是在 ECMAScript 语言规范之上额外增加的。国际化 API 为 JavaScript 应用程序提供了国际化的规则排序(字符串比较)、数字格式化、日期时间格式化等功能,能够让应用选择语言,并根据实际需要选用功能。初始标准在 2012 年 12 月审批通过;可以在 {{jsxref("Intl")}} 对象的文档中查看各个浏览器的实现状态。如今,国际化规范也每年批准一次,以及浏览器在不断地改进其实现。 ### 相关资源 @@ -64,21 +66,21 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ### DOM 的核心 -文档对象模型(DOM)是用来表达 HTML、XHTML 及 XML 文档中的对象或与其进行交互的**约定**,它是跨平台的,并且与**编程语言无关**。通过调用**DOM 树**上对象的方法可以操纵这些对象。文档对象模型核心是由 [W3C](/zh-CN/docs/Glossary/W3C) 进行标准化的,它将 HTML 和 XML 文档抽象成对象,并在其上定义接口以及操纵这些对象的机制,DOM 定义的元素有: +文档对象模型(DOM)是用来对 HTML、XHTML 及 XML 文档中的对象进行表示和交互的跨平台以及**编程语言无关的约定**。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。文档对象模型核心是由 [W3C](/zh-CN/docs/Glossary/W3C) 进行标准化的,这个模型定义了编程语言无关的、将 HTML 和 XML 抽象为对象的接口,也定义了操作这种抽象的机制。在由 DOM 定义的东西中,我们能找到: -- [DOM 核心](https://dom.spec.whatwg.org/)中定义了文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等 -- [DOM 事件](https://w3c.github.io/uievents/)中包括对于 DOM 事件架构的一个不太严格的定义,以及一些特殊事件。 -- [DOM 元素遍历](https://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html)以及 [DOM 范围](https://dom.spec.whatwg.org/#ranges)对象等其他内容。 +- [DOM 核心](https://dom.spec.whatwg.org/)中的文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等 +- [DOM 事件](https://w3c.github.io/uievents/)中的一个不太严谨的 DOM 事件架构的定义,以及一些特殊事件。 +- [DOM 遍历](https://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html)以及 [DOM 范围](https://dom.spec.whatwg.org/#ranges)等其他内容。 -从 ECMAScript 的角度来看,DOM 规范中定义的对象被称作“宿主对象”。 +从 ECMAScript 的角度来看,DOM 规范中定义的对象称作“宿主对象”。 ### HTML DOM -[HTML](https://html.spec.whatwg.org/multipage/),Web 的标记语言,是根据 DOM 定义的。位于 DOM 核心抽象概念之上,HTML 还定义了元素的意义。比如元素的 `className` 属性以及例如 {{domxref("Document.body")}} 这样的 API。 +[HTML](https://html.spec.whatwg.org/multipage/),Web 的标记语言,是根据 DOM 定义的。位于 DOM 核心抽象概念之上,HTML 还定义了元素的*意义*。HTML DOM 包括:元素的 `className` 属性以及 {{domxref("Document.body")}} API,等等。 HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlelement("ul")}} 元素中,只能以 {{htmlelement("li")}} 元素作为子元素来表达列表项。还有就是禁止使用标准中未定义的元素和属性。 -想了解更多关于 {{domxref("Document")}} 对象、{{domxref("Window")}} 对象以及其他 DOM 元素的信息?请访问 MDN 的 [DOM 文档](/zh-CN/docs/Web/API/Document_Object_Model)。 +想了解更多关于 {{domxref("Document")}} 对象、{{domxref("Window")}} 对象以及其他 DOM 元素的信息?阅读 [DOM 文档](/zh-CN/docs/Web/API/Document_Object_Model)。 ## 其他值得关注的 API @@ -89,41 +91,54 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel - [WebWorker](https://html.spec.whatwg.org/multipage/workers.html) 允许进行并行计算。 - [WebSocket](https://html.spec.whatwg.org/multipage/#network) 允许进行底层双向通信。 - [Canvas 2D Context](https://html.spec.whatwg.org/multipage//#2dcontext) 是 [``](/zh-CN/docs/Web/HTML/Element/canvas) 元素的绘图 API。 -- [WebAssembly 接口](https://webassembly.github.io/spec/js-api) 提供了 JavaScript 代码和 [WebAssembly](/zh-CN/docs/WebAssembly) 模块之间的通信工具。 +- [WebAssembly 接口](https://webassembly.github.io/spec/js-api)为 JavaScript 代码和 [WebAssembly](/zh-CN/docs/WebAssembly) 模块之间提供通信工具。 非浏览器环境(如 Node.js)通常不提供 DOM API——因为它们不与文档进行交互,但它们仍然会实现很多 web API,例如 {{domxref("Window.fetch", "fetch()")}} 和 {{domxref("Window.setTimeout", "setTimeout()")}}。 ## 有哪些 JavaScript 的实现? -mozilla.org 上托管了两个 JavaScript 实现。**首个** JavaScript 由网景公司的 Brendan Eich 创建,并不断地更新以符合 ECMA-262 Edition 5 及其之后的标准版本。这个引擎,代号 [SpiderMonkey](/zh-CN/docs/Mozilla/Projects/SpiderMonkey) ,是由 C/C++ 语言开发的。而 [Rhino](/zh-CN/docs/Rhino) 引擎,主要由 Norris Boyd(同样也是在网景公司)创建,则是一个 Java 语言开发的 JavaScript 实现。与 SpiderMonkey 类似,Rhino 符合 ECMA-262 Edition 5 标准。 +有三个主要的用于浏览器环境和其他环境的 JavaScript 实现: -有很多优化技术如 TraceMonkey (Firefox 3.5)、JägerMonkey (Firefox 4) 和 IonMonkey 被不断添加到了 SpiderMonkey JavaScript 引擎。并且提升 JavaScript 执行效率的工作一直在进行。 +- Mozilla 的 [SpiderMonkey](https://spidermonkey.dev/),用于 Firefox。它是*首*款 JavaScript 引擎,由 Brendan Eich 在 Netscape 创造。 +- Google 的 [V8](https://v8.dev/),用于 Google Chrome、Opera、Edge、[Node.js](https://nodejs.org/)、[Deno](https://deno.com/)、[Electron](https://www.electronjs.org/),等等。 +- Apple 的 [JavaScriptCore](https://trac.webkit.org/wiki/JavaScriptCore)(也称为 SquirrelFish/Nitro),用于 WebKit 浏览器(如 Apple Safari)和 [Bun](https://bun.sh/)。 -除了以上实现,还有其他一些流行的 JavaScript 引擎,如: +除了以上实现,还有其他流行的 JavaScript 引擎,如: -- Google 的 [V8](http://code.google.com/p/v8/),在 Google Chrome 浏览器和较新的 Opera 浏览器中使用。这同时也是[Node.js](https://nodejs.org/en/)使用的引擎。 -- [JavaScriptCore](http://www.webkit.org/projects/javascript/index.html) (SquirrelFish/Nitro),被用在了一些 WebKit 浏览器如 Apple Safari。 - [Carakan](http://my.opera.com/ODIN/blog/carakan-faq),用在旧版本 Opera 中。 - [Chakra]() 引擎,用在 Internet Explorer 中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。 -每个 mozilla.org 的 JavaScript 引擎都提供了 公用 API 使程序开发者能将其 JavaScript 嵌入自己的软件中。目前最常见的 JavaScript 宿主环境是网页浏览器。浏览器一般通过 API 创建“宿主对象”来负责将[DOM](http://www.w3.org/DOM/) 反射到 JavaScript 中。 +- [Carakan](),用于早期版本的 Opera。 +- Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,让人困惑地也叫 [Chakra]()。 +- [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 地浏览器实现。 +- Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 -另一个常见的 JavaScript 应用是作为服务端脚本语言。JavaScript 服务器提供宿主对象代表 HTTP 请求和响应,随后可以通过 JavaScript 程序来动态的生成 Web 页面。[Node.js](https://nodejs.org/en/)便是一个流行的例子。 +还有一些为非浏览器目的特别裁剪过的引擎: + +- [Engine262](https://engine262.js.org/),用 JavaScript 实现的 JavaScript 引擎。创建的目的是为 JavaScript 开发者探索规范中的新语言特性和查找规范中的问题。 +- [Moddable XS](https://www.moddable.com/),用于嵌入式系统,如 IoT。 +- [QuickJS](https://bellard.org/quickjs/),一个小型、嵌入式的 JavaScript 引擎。 +- Meta 的 [Hermes](https://github.com/facebook/hermes) 引擎,为 [React Native](https://reactnative.dev/docs/hermes) 进行优化的引擎。 +- Oracle 的 [GraalJS](https://www.graalvm.org/),由 Oracle Labs 在 GraalVM 上构建的高性能引擎。 + +JavaScript 引擎暴露了应用程序开发者用于将 JavaScript 整合到软件中公共 API,JavaScript 大多数常见的宿主环境是 Web 浏览器。Web 浏览器一般使用公共的 API 创建用于将 [DOM](https://dom.spec.whatwg.org/) 反射到 JavaScript 的**宿主对象**。 + +JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。JavaScript Web 服务器通过暴漏表示 HTTP 请求和响应 的宿主对象,然后 JavaScript 程序额能操作这些对象动态地生成 Web 页面。[Node.js](https://nodejs.org/) 是流行的服务器端脚本语言的宿主环境。 ## Shell -JavaScript shell 允许你快速测试代码片段或 JavaScript 代码,而无需重载 web 页面。其在开发和代码调试中非常有用。 +JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 web 页面。其在开发和代码调试中非常有用。 ### 独立的 JavaScript shell 以下 JavaScript shell 是与 Perl 或 Python 类似的独立的环境: -- [Node.js](https://nodejs.org/)——Node.js 是用于构建快速、可扩展的网络应用的平台。 +- [Node.js](https://nodejs.org/)——Node.js 是用于轻易构建快速、可扩展的网络应用的平台。 - [ShellJS](https://github.com/shelljs/shelljs)——用于 Node.js 的便携式 Unix shell 命令。 ### 基于浏览器的 JavaScript shell -以下 JavaScript shell 是通过浏览器的 JavaScript 引擎运行代码的: +以下 JavaScript shell 是通过浏览器的 JavaScript 引擎运行代码: - Firefox 有一个[内置的 JavaScript 控制台](https://firefox-source-docs.mozilla.org/devtools-user/web_console/the_command_line_interpreter/index.html),支持多行编辑。 - [Babel 交互式解释器](https://babeljs.io/repl)——一个基于浏览器的、用于试验下一代 JavaScript 特性的[交互式解释器](https://zh.wikipedia.org/wiki/读取﹣求值﹣输出循环)。 @@ -135,8 +150,8 @@ JavaScript shell 允许你快速测试代码片段或 JavaScript 代码,而无 - [Firefox 开发者工具](https://firefox-source-docs.mozilla.org/devtools-user/index.html) - : 包括 [Web Console](https://firefox-source-docs.mozilla.org/devtools-user/web_console/index.html)、[JavaScript Profiler](https://firefox-source-docs.mozilla.org/devtools-user/performance/index.html)、[Debugger](https://firefox-source-docs.mozilla.org/devtools-user/debugger/index.html) 等。 -- [JavaScript Shell](/zh-CN/docs/Web/JavaScript/JavaScript_technologies_overview#shell) - - : Javascript Shell 使你可以即时测试 JavaScript 代码片段。 +- [学习 JavaScript](https://learnjavascript.online/) + - : 为有进取心的 Web 开发人员准备的优秀资源——在交互式环境中通过自动评估引导的短课程和交互式测试学习 JavaScript。前 40 节课为免费课程,而完整的课程仅需一次性支付少量费用。 - [TogetherJS](https://togetherjs.com/) - : 添加 TogetherJS 到你的网站,让用户实时互助,协作更简单。 - [Stack Overflow](https://stackoverflow.com/questions/tagged/javascript) @@ -148,8 +163,8 @@ JavaScript shell 允许你快速测试代码片段或 JavaScript 代码,而无 - [JSBin](https://jsbin.com/) - : JS Bin 是一个开源的协作式的 web 开发调试工具。 - [Codepen](https://codepen.io/) - - : Codepen 也是一个 Web 协作工具,可用作展示实时结果的 playground。 + - : Codepen 也是一个 Web 开发协作工具,可用作展示实时结果的 playground。 - [StackBlitz](https://stackblitz.com/) - - : StackBlitz 同样是一个支持调试的在线 playground,它支持部署使用了 React、Angular 等技术的全栈应用 + - : StackBlitz 同样是一个支持调试的在线 playground,它支持托管和部署使用了 React、Angular 等技术的全栈应用 - [RunJS](https://runjs.app/) - : RunJS 是一个桌面端便笺式 playground,可提供实时执行结果并支持调用 Node 与浏览器 API。 From 146b6095d9d876fe6f214359ff5deefaecee0e33 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Fri, 25 Oct 2024 14:59:51 +0800 Subject: [PATCH 02/19] fix minor bug --- .../javascript/javascript_technologies_overview/index.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 3c4b2e88fcfad6..bfe776afbc6953 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -105,12 +105,9 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel 除了以上实现,还有其他流行的 JavaScript 引擎,如: -- [Carakan](http://my.opera.com/ODIN/blog/carakan-faq),用在旧版本 Opera 中。 -- [Chakra]() 引擎,用在 Internet Explorer 中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。 - - [Carakan](),用于早期版本的 Opera。 - Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,让人困惑地也叫 [Chakra]()。 -- [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 地浏览器实现。 +- [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 的浏览器实现。 - Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 还有一些为非浏览器目的特别裁剪过的引擎: @@ -121,9 +118,9 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel - Meta 的 [Hermes](https://github.com/facebook/hermes) 引擎,为 [React Native](https://reactnative.dev/docs/hermes) 进行优化的引擎。 - Oracle 的 [GraalJS](https://www.graalvm.org/),由 Oracle Labs 在 GraalVM 上构建的高性能引擎。 -JavaScript 引擎暴露了应用程序开发者用于将 JavaScript 整合到软件中公共 API,JavaScript 大多数常见的宿主环境是 Web 浏览器。Web 浏览器一般使用公共的 API 创建用于将 [DOM](https://dom.spec.whatwg.org/) 反射到 JavaScript 的**宿主对象**。 +JavaScript 引擎暴露了应用程序开发者用于将 JavaScript 整合到软件中的公共 API,JavaScript 大多数常见的宿主环境是 Web 浏览器。Web 浏览器一般使用公共的 API 创建用于将 [DOM](https://dom.spec.whatwg.org/) 反射到 JavaScript 的**宿主对象**。 -JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。JavaScript Web 服务器通过暴漏表示 HTTP 请求和响应 的宿主对象,然后 JavaScript 程序额能操作这些对象动态地生成 Web 页面。[Node.js](https://nodejs.org/) 是流行的服务器端脚本语言的宿主环境。 +JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。JavaScript Web 服务器通过暴漏表示 HTTP 请求和响应的宿主对象,然后 JavaScript 程序就能操作这些对象动态地生成 Web 页面。[Node.js](https://nodejs.org/) 是流行的服务器端脚本语言的宿主环境。 ## Shell From a65e1ee0b061f7ea8c3e452017eb9e03958e5643 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Fri, 25 Oct 2024 15:09:31 +0800 Subject: [PATCH 03/19] fix minor bug --- .../web/javascript/javascript_technologies_overview/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index bfe776afbc6953..fa8700329929ab 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -22,7 +22,7 @@ JavaScript 的核心语言由 ECMA TC39 委员会标准化为称作 ECMAScript 除却一些其他元素,ECMAScript 定义了: - 语法(解析规则、关键词、流程控制、对象初始化,等等) -- 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义{{jsxref("Error")}}类型的能力) +- 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义 {{jsxref("Error")}} 类型的能力) - 类型(布尔、数字、字符串、函数、对象,等等) - 基于原型的继承机制 - 内置对象和函数({{jsxref("JSON")}}、{{jsxref("Math")}}、[数组](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array) 方法、{{jsxref("parseInt")}}、{{jsxref("decodeURI")}},等等) @@ -120,7 +120,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel JavaScript 引擎暴露了应用程序开发者用于将 JavaScript 整合到软件中的公共 API,JavaScript 大多数常见的宿主环境是 Web 浏览器。Web 浏览器一般使用公共的 API 创建用于将 [DOM](https://dom.spec.whatwg.org/) 反射到 JavaScript 的**宿主对象**。 -JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。JavaScript Web 服务器通过暴漏表示 HTTP 请求和响应的宿主对象,然后 JavaScript 程序就能操作这些对象动态地生成 Web 页面。[Node.js](https://nodejs.org/) 是流行的服务器端脚本语言的宿主环境。 +JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。JavaScript Web 服务器通过暴露表示 HTTP 请求和响应的宿主对象,然后 JavaScript 程序就能操作这些对象动态地生成 Web 页面。[Node.js](https://nodejs.org/) 是流行的服务器端脚本语言的宿主环境。 ## Shell From 6ffc539166e104990a7c8278192a6df6687df5e4 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:03:11 +0800 Subject: [PATCH 04/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index fa8700329929ab..0ab6dea29db0dc 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -21,7 +21,7 @@ JavaScript 的核心语言由 ECMA TC39 委员会标准化为称作 ECMAScript 除却一些其他元素,ECMAScript 定义了: -- 语法(解析规则、关键词、流程控制、对象初始化,等等) +- 语法(解析规则、关键字、流程控制、对象字面初始化,等等) - 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义 {{jsxref("Error")}} 类型的能力) - 类型(布尔、数字、字符串、函数、对象,等等) - 基于原型的继承机制 From 9c359d3251f309c044472bdd7357ffd81bf3ec68 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:04:16 +0800 Subject: [PATCH 05/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 0ab6dea29db0dc..5e3deb1752d946 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -44,7 +44,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ## 国际化 API -由 ECMA TC39 进行标准化的 [ECMAScript 国际化 API 规范](https://402.ecma-international.org/1.0/)是在 ECMAScript 语言规范之上额外增加的。国际化 API 为 JavaScript 应用程序提供了国际化的规则排序(字符串比较)、数字格式化、日期时间格式化等功能,能够让应用选择语言,并根据实际需要选用功能。初始标准在 2012 年 12 月审批通过;可以在 {{jsxref("Intl")}} 对象的文档中查看各个浏览器的实现状态。如今,国际化规范也每年批准一次,以及浏览器在不断地改进其实现。 +由 ECMA TC39 进行标准化的 [ECMAScript 国际化 API 规范](https://402.ecma-international.org/1.0/)是在 ECMAScript 语言规范之上额外增加的。国际化 API 为 JavaScript 应用程序提供了国际化的规则排序(字符串比较)、数字格式化、日期时间格式化等功能,能够让应用选择语言,并根据实际需要选用功能。初始标准在 2012 年 12 月审批通过;可以在 {{jsxref("Intl")}} 对象的文档中查看各个浏览器的实现状态。如今,国际化规范每年都会得到批准,浏览器也会不断改进其实现。 ### 相关资源 From 7a5337374561d6027292a986cd1aab57ca1041cd Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:06:09 +0800 Subject: [PATCH 06/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 5e3deb1752d946..45c99c7be73009 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -66,7 +66,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ### DOM 的核心 -文档对象模型(DOM)是用来对 HTML、XHTML 及 XML 文档中的对象进行表示和交互的跨平台以及**编程语言无关的约定**。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。文档对象模型核心是由 [W3C](/zh-CN/docs/Glossary/W3C) 进行标准化的,这个模型定义了编程语言无关的、将 HTML 和 XML 抽象为对象的接口,也定义了操作这种抽象的机制。在由 DOM 定义的东西中,我们能找到: +文档对象模型(DOM)是一种跨平台以及**编程语言无关的约定**,用于表示 HTML、XHTML 及 XML 文档中的对象进并与之交互。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。[W3C](/zh-CN/docs/Glossary/W3C) 将核心文档对象模型标准化,该模型定义了与语言无关的接口,将 HTML 和 XML 文档抽象为对象,还定义了操作这种抽象的机制。在由 DOM 定义的事物中,我们可以发现: - [DOM 核心](https://dom.spec.whatwg.org/)中的文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等 - [DOM 事件](https://w3c.github.io/uievents/)中的一个不太严谨的 DOM 事件架构的定义,以及一些特殊事件。 From ffcc58cadc63a8be6bde46eb408eaf00fab1c37f Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:06:46 +0800 Subject: [PATCH 07/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 45c99c7be73009..55ffebe468998e 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -76,7 +76,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ### HTML DOM -[HTML](https://html.spec.whatwg.org/multipage/),Web 的标记语言,是根据 DOM 定义的。位于 DOM 核心抽象概念之上,HTML 还定义了元素的*意义*。HTML DOM 包括:元素的 `className` 属性以及 {{domxref("Document.body")}} API,等等。 +[HTML](https://html.spec.whatwg.org/multipage/),Web 的标记语言,是以 DOM 的形式定义的,位于 DOM 核心抽象概念之上。HTML 还定义了元素的*意义*。HTML DOM 包括:元素的 `className` 属性以及 {{domxref("Document.body")}} API,等等。 HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlelement("ul")}} 元素中,只能以 {{htmlelement("li")}} 元素作为子元素来表达列表项。还有就是禁止使用标准中未定义的元素和属性。 From 29531f30c80bbdb6c7f608a0d26f42fc15c95947 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:07:13 +0800 Subject: [PATCH 08/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 55ffebe468998e..fd98016b79e8fb 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -110,7 +110,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel - [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 的浏览器实现。 - Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 -还有一些为非浏览器目的特别裁剪过的引擎: +还有一些引擎是专门为非浏览器用途定制的: - [Engine262](https://engine262.js.org/),用 JavaScript 实现的 JavaScript 引擎。创建的目的是为 JavaScript 开发者探索规范中的新语言特性和查找规范中的问题。 - [Moddable XS](https://www.moddable.com/),用于嵌入式系统,如 IoT。 From 9aafb2b979b22c1cd314b8dfc32efb8d1719cf6e Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:07:43 +0800 Subject: [PATCH 09/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index fd98016b79e8fb..96080f7e6e741e 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -130,7 +130,7 @@ JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 以下 JavaScript shell 是与 Perl 或 Python 类似的独立的环境: -- [Node.js](https://nodejs.org/)——Node.js 是用于轻易构建快速、可扩展的网络应用的平台。 +- [Node.js](https://nodejs.org/)——Node.js 是可轻松构建快速、可扩展网络应用程序的平台。 - [ShellJS](https://github.com/shelljs/shelljs)——用于 Node.js 的便携式 Unix shell 命令。 ### 基于浏览器的 JavaScript shell From 79cfd4a9a3a7e00e2a6d9844cbb02f7fe815ea40 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:08:01 +0800 Subject: [PATCH 10/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 96080f7e6e741e..0aa05b15c5d518 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -135,7 +135,7 @@ JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 ### 基于浏览器的 JavaScript shell -以下 JavaScript shell 是通过浏览器的 JavaScript 引擎运行代码: +以下 JavaScript shell 通过浏览器的 JavaScript 引擎运行代码: - Firefox 有一个[内置的 JavaScript 控制台](https://firefox-source-docs.mozilla.org/devtools-user/web_console/the_command_line_interpreter/index.html),支持多行编辑。 - [Babel 交互式解释器](https://babeljs.io/repl)——一个基于浏览器的、用于试验下一代 JavaScript 特性的[交互式解释器](https://zh.wikipedia.org/wiki/读取﹣求值﹣输出循环)。 From 7e990d83333bdfbbd17365e7424cb24da65abe38 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:08:22 +0800 Subject: [PATCH 11/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 0aa05b15c5d518..374c1e1b34ee31 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -146,7 +146,7 @@ JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 用于编写和调试 JavaScript 代码的实用工具。 - [Firefox 开发者工具](https://firefox-source-docs.mozilla.org/devtools-user/index.html) - - : 包括 [Web Console](https://firefox-source-docs.mozilla.org/devtools-user/web_console/index.html)、[JavaScript Profiler](https://firefox-source-docs.mozilla.org/devtools-user/performance/index.html)、[Debugger](https://firefox-source-docs.mozilla.org/devtools-user/debugger/index.html) 等。 + - : 包括 [Web 控制台](https://firefox-source-docs.mozilla.org/devtools-user/web_console/index.html)、[JavaScript 性能分析](https://firefox-source-docs.mozilla.org/devtools-user/performance/index.html)、[调试器](https://firefox-source-docs.mozilla.org/devtools-user/debugger/index.html)等。 - [学习 JavaScript](https://learnjavascript.online/) - : 为有进取心的 Web 开发人员准备的优秀资源——在交互式环境中通过自动评估引导的短课程和交互式测试学习 JavaScript。前 40 节课为免费课程,而完整的课程仅需一次性支付少量费用。 - [TogetherJS](https://togetherjs.com/) From 4df8304b9c17f1a2586594dfb6e88ccaeffa2dce Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:08:47 +0800 Subject: [PATCH 12/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 374c1e1b34ee31..0d0b66dc4317a9 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -162,6 +162,6 @@ JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 - [Codepen](https://codepen.io/) - : Codepen 也是一个 Web 开发协作工具,可用作展示实时结果的 playground。 - [StackBlitz](https://stackblitz.com/) - - : StackBlitz 同样是一个支持调试的在线 playground,它支持托管和部署使用了 React、Angular 等技术的全栈应用 + - : StackBlitz 同样是一个支持调试的在线 playground,它支持托管和部署使用了 React、Angular 等技术的全栈应用。 - [RunJS](https://runjs.app/) - : RunJS 是一个桌面端便笺式 playground,可提供实时执行结果并支持调用 Node 与浏览器 API。 From 3e77f6c856b35aa06f5dfde46fade451ffe3392f Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:09:17 +0800 Subject: [PATCH 13/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 0d0b66dc4317a9..915ad75242627d 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -105,7 +105,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel 除了以上实现,还有其他流行的 JavaScript 引擎,如: -- [Carakan](),用于早期版本的 Opera。 +- [Carakan](https://zh.wikipedia.org/wiki/Presto#JavaScript引擎),用于早期版本的 Opera。 - Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,让人困惑地也叫 [Chakra]()。 - [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 的浏览器实现。 - Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 From a2247476b0a0ec66d25ba49fc2afa9176c42535a Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:09:58 +0800 Subject: [PATCH 14/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 915ad75242627d..9e7e1991ff3c6f 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -106,7 +106,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel 除了以上实现,还有其他流行的 JavaScript 引擎,如: - [Carakan](https://zh.wikipedia.org/wiki/Presto#JavaScript引擎),用于早期版本的 Opera。 -- Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,让人困惑地也叫 [Chakra]()。 +- Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,令人困惑的是,它也叫作 [Chakra]()。 - [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 的浏览器实现。 - Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 From 6752f0daaaeb34b8ecbd63cd4d838fb7bdcccd4d Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:10:30 +0800 Subject: [PATCH 15/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 9e7e1991ff3c6f..210f81d8e24b03 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -108,7 +108,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel - [Carakan](https://zh.wikipedia.org/wiki/Presto#JavaScript引擎),用于早期版本的 Opera。 - Microsoft 的 [Chakra]() 引擎,用于 Internet Explorer(尽管它实现的语言正式名称为“JScript”,为了避免商标问题)。早期版本的 Edge 使用的新 JavaScript 引擎,令人困惑的是,它也叫作 [Chakra]()。 - [LibJS](https://serenityos.github.io/libjs-website/),用于 [SerenityOS](https://serenityos.org/) 的浏览器实现。 -- Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd 创造(也在 Netscape)。 +- Mozilla 的 [Rhino]() 引擎,用 Java 语言实现的 JavaScript 引擎,主要由 Norris Boyd(也曾在 Netscape)创建。 还有一些引擎是专门为非浏览器用途定制的: From ebe83c89e37f5663efb25e0f2c03c63be6ddef29 Mon Sep 17 00:00:00 2001 From: familyboat <84062528+familyboat@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:11:10 +0800 Subject: [PATCH 16/19] Update files/zh-cn/web/javascript/javascript_technologies_overview/index.md Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> --- .../web/javascript/javascript_technologies_overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 210f81d8e24b03..fc872b349a1c10 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -99,7 +99,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel 有三个主要的用于浏览器环境和其他环境的 JavaScript 实现: -- Mozilla 的 [SpiderMonkey](https://spidermonkey.dev/),用于 Firefox。它是*首*款 JavaScript 引擎,由 Brendan Eich 在 Netscape 创造。 +- Mozilla 的 [SpiderMonkey](https://spidermonkey.dev/),用于 Firefox。它是*首*款 JavaScript 引擎,由 Netscape 公司的 Brendan Eich 创建。 - Google 的 [V8](https://v8.dev/),用于 Google Chrome、Opera、Edge、[Node.js](https://nodejs.org/)、[Deno](https://deno.com/)、[Electron](https://www.electronjs.org/),等等。 - Apple 的 [JavaScriptCore](https://trac.webkit.org/wiki/JavaScriptCore)(也称为 SquirrelFish/Nitro),用于 WebKit 浏览器(如 Apple Safari)和 [Bun](https://bun.sh/)。 From 0dabe9ea5fe6b363b82187eb1d688d9dbca2c812 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Tue, 29 Oct 2024 14:23:24 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E5=BA=94=E7=94=A8=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/javascript_technologies_overview/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index fc872b349a1c10..a7571ec11e3e9f 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -36,9 +36,9 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 在 ECMAScript 第 6 版(称为 ES6)之前,规范是几年发布一次,通常用它们的主要版本号来指代(ES3、ES5 等)。在 ES6 之后,规范以发布年份命名(ES2017、ES2018 等)。ES6 是 ES2015 的代名词。_ESNext_ 是一个动态名称,指的是撰写本文时的下一个版本。ESNext 中的特性更准确地称为提案,因为根据定义,规范尚未最终确定。 -目前委员会批准的 ECMA-262 的快照有 [PDF 版本](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf)和 [HTML 版本](https://262.ecma-international.org/13.0/)。ECMA-262 和 ECMA-402 正处于维护状态,仍在由规范编辑者更新;TC39 网站托管了最新版本的 [ECMA-262](https://tc39.es/ecma262/) 和 [ECMA-402](https://tc39.es/ecma402/)。 +目前委员会批准的 ECMA-262 的快照位于 Ecma International 的 [ECMA-262 语言规范页面](https://ecma-international.org/publications-and-standards/standards/ecma-262/),有 PDF 和 HTML 两个格式可用。ECMA-262 和 ECMA-402 正处于维护状态,仍在由规范编辑者更新;TC39 网站托管了最新版本的 [ECMA-262](https://tc39.es/ecma262/) 和 [ECMA-402](https://tc39.es/ecma402/)。 -新的语言特性,包括新的语法和 API 的引入以及现有行为的修订,都以提案的形式进行讨论。每个提案都需要经过 [4 个阶段的过程](https://tc39.es/process-document/),通常在第 3 或 第 4 阶段时,JavaScript 引擎会实现这些提案,以供公众使用。 +新的语言特性,包括新的语法和 API 的引入以及现有行为的修订,都以提案的形式进行讨论。每个提案都需要经过 [4 个阶段的过程](https://tc39.es/process-document/),通常在第 3 或第 4 阶段时,JavaScript 引擎会实现这些提案,以供公众使用。 有关 ECMAScript 历史的更多信息,请参阅[维基百科上的 ECMAScript 条目](https://zh.wikipedia.org/wiki/ECMAScript)。 @@ -66,7 +66,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 ### DOM 的核心 -文档对象模型(DOM)是一种跨平台以及**编程语言无关的约定**,用于表示 HTML、XHTML 及 XML 文档中的对象进并与之交互。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。[W3C](/zh-CN/docs/Glossary/W3C) 将核心文档对象模型标准化,该模型定义了与语言无关的接口,将 HTML 和 XML 文档抽象为对象,还定义了操作这种抽象的机制。在由 DOM 定义的事物中,我们可以发现: +文档对象模型(DOM)是一种跨平台以及**编程语言无关的约定**,用于表示 HTML、XHTML 及 XML 文档中的对象并与之交互。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。[W3C](/zh-CN/docs/Glossary/W3C) 将核心文档对象模型标准化,该模型定义了与语言无关的接口,将 HTML 和 XML 文档抽象为对象,还定义了操作这种抽象的机制。在由 DOM 定义的事物中,我们可以发现: - [DOM 核心](https://dom.spec.whatwg.org/)中的文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等 - [DOM 事件](https://w3c.github.io/uievents/)中的一个不太严谨的 DOM 事件架构的定义,以及一些特殊事件。 From f95ddf73c7799171a87947ad225064786390e399 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Tue, 29 Oct 2024 14:40:22 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=92=8CWeb=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript_technologies_overview/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index a7571ec11e3e9f..75b364f8bd37c7 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -9,7 +9,7 @@ l10n: [HTML](/zh-CN/docs/Web/HTML) 定义网页的结构与内容,[CSS](/zh-CN/docs/Web/CSS) 定义其格式与样式,而 [JavaScript](/zh-CN/docs/Web/JavaScript) 则为网页增加可交互性,创作功能丰富的 Web 应用。 -但是,如果从浏览器的范畴去理解“JavaScript”这个术语,它包含了截然不同的两个方面。一方面是 JavaScript 的核心语言(ECMAScript),另一方面是大量的 [Web API](/zh-CN/docs/Web/Reference/API),包括 DOM(文档对象模型)。 +但是,如果从浏览器的范畴去理解“JavaScript”这个术语,它包含了截然不同的两个方面。一方面是 JavaScript 的核心语言(ECMAScript),另一方面是大量的 [Web API](/zh-CN/docs/Web/API),包括 DOM(文档对象模型)。 ## JavaScript 核心语言(ECMAScript) @@ -25,7 +25,7 @@ JavaScript 的核心语言由 ECMA TC39 委员会标准化为称作 ECMAScript - 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义 {{jsxref("Error")}} 类型的能力) - 类型(布尔、数字、字符串、函数、对象,等等) - 基于原型的继承机制 -- 内置对象和函数({{jsxref("JSON")}}、{{jsxref("Math")}}、[数组](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array) 方法、{{jsxref("parseInt")}}、{{jsxref("decodeURI")}},等等) +- 内置对象和函数({{jsxref("JSON")}}、{{jsxref("Math")}}、[数组](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array)方法、{{jsxref("parseInt")}}、{{jsxref("decodeURI")}},等等) - [严格模式](/zh-CN/docs/Web/JavaScript/Reference/Strict_mode) - [模块系统](/zh-CN/docs/Web/JavaScript/Guide/Modules) - 基本内存模型 @@ -68,7 +68,7 @@ ECMAScript 版本由每年的 ECMA 大会批准并作为标准发布。所有的 文档对象模型(DOM)是一种跨平台以及**编程语言无关的约定**,用于表示 HTML、XHTML 及 XML 文档中的对象并与之交互。通过调用 **DOM 树**中的对象的方法对其进行定位和操纵。[W3C](/zh-CN/docs/Glossary/W3C) 将核心文档对象模型标准化,该模型定义了与语言无关的接口,将 HTML 和 XML 文档抽象为对象,还定义了操作这种抽象的机制。在由 DOM 定义的事物中,我们可以发现: -- [DOM 核心](https://dom.spec.whatwg.org/)中的文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等 +- [DOM 核心](https://dom.spec.whatwg.org/)中的文档结构、树模型,以及 DOM 事件架构,包括:{{domxref("Node")}}、{{domxref("Element")}}、{{domxref("DocumentFragment")}}、{{domxref("Document")}}、{{domxref("DOMImplementation")}}、{{domxref("Event")}}、{{domxref("EventTarget")}},等等。 - [DOM 事件](https://w3c.github.io/uievents/)中的一个不太严谨的 DOM 事件架构的定义,以及一些特殊事件。 - [DOM 遍历](https://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html)以及 [DOM 范围](https://dom.spec.whatwg.org/#ranges)等其他内容。 @@ -93,7 +93,7 @@ HTML 规范同时还约束了元素之间的关系,例如无序列表 {{htmlel - [Canvas 2D Context](https://html.spec.whatwg.org/multipage//#2dcontext) 是 [``](/zh-CN/docs/Web/HTML/Element/canvas) 元素的绘图 API。 - [WebAssembly 接口](https://webassembly.github.io/spec/js-api)为 JavaScript 代码和 [WebAssembly](/zh-CN/docs/WebAssembly) 模块之间提供通信工具。 -非浏览器环境(如 Node.js)通常不提供 DOM API——因为它们不与文档进行交互,但它们仍然会实现很多 web API,例如 {{domxref("Window.fetch", "fetch()")}} 和 {{domxref("Window.setTimeout", "setTimeout()")}}。 +非浏览器环境(如 Node.js)通常不提供 DOM API——因为它们不与文档进行交互,但它们仍然会实现很多 Web API,例如 {{domxref("Window.fetch", "fetch()")}} 和 {{domxref("Window.setTimeout", "setTimeout()")}}。 ## 有哪些 JavaScript 的实现? @@ -124,7 +124,7 @@ JavaScript 另一个常见的应用是作为(Web)服务器端脚本语言。 ## Shell -JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 web 页面。其在开发和代码调试中非常有用。 +JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 Web 页面。其在开发和代码调试中非常有用。 ### 独立的 JavaScript shell @@ -158,7 +158,7 @@ JavaScript shell 允许你快速测试 JavaScript 代码片段,而无需重载 - [Plunker](https://plnkr.co/) - : Plunker 是一个在线社区,用于创建、协作和共享你的 Web 开发创意。编辑你的 JavaScript、CSS 和 HTML 文件并获取实时结果和文件结构。 - [JSBin](https://jsbin.com/) - - : JS Bin 是一个开源的协作式的 web 开发调试工具。 + - : JS Bin 是一个开源的协作式的 Web 开发调试工具。 - [Codepen](https://codepen.io/) - : Codepen 也是一个 Web 开发协作工具,可用作展示实时结果的 playground。 - [StackBlitz](https://stackblitz.com/) From bafc0d13df8c7ded05cec6ac255ccebf056d89f4 Mon Sep 17 00:00:00 2001 From: familyboat <2015301110129@whu.edu.cn> Date: Tue, 29 Oct 2024 20:24:48 +0800 Subject: [PATCH 19/19] minor fix --- .../web/javascript/javascript_technologies_overview/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md index 75b364f8bd37c7..a0accf6e48c41f 100644 --- a/files/zh-cn/web/javascript/javascript_technologies_overview/index.md +++ b/files/zh-cn/web/javascript/javascript_technologies_overview/index.md @@ -7,7 +7,7 @@ l10n: {{JsSidebar("Introductory")}} -[HTML](/zh-CN/docs/Web/HTML) 定义网页的结构与内容,[CSS](/zh-CN/docs/Web/CSS) 定义其格式与样式,而 [JavaScript](/zh-CN/docs/Web/JavaScript) 则为网页增加可交互性,创作功能丰富的 Web 应用。 +[HTML](/zh-CN/docs/Web/HTML) 定义网页的结构与内容,[CSS](/zh-CN/docs/Web/CSS) 定义其格式与样式,而 [JavaScript](/zh-CN/docs/Web/JavaScript) 则为网页增加交互性,创作功能丰富的 Web 应用。 但是,如果从浏览器的范畴去理解“JavaScript”这个术语,它包含了截然不同的两个方面。一方面是 JavaScript 的核心语言(ECMAScript),另一方面是大量的 [Web API](/zh-CN/docs/Web/API),包括 DOM(文档对象模型)。 @@ -21,7 +21,7 @@ JavaScript 的核心语言由 ECMA TC39 委员会标准化为称作 ECMAScript 除却一些其他元素,ECMAScript 定义了: -- 语法(解析规则、关键字、流程控制、对象字面初始化,等等) +- 语法(解析规则、关键字、流程控制、对象字面量初始化,等等) - 错误处理机制({{jsxref("Statements/throw", "throw")}}、{{jsxref("Statements/try...catch", "try...catch")}},以及创建用户自定义 {{jsxref("Error")}} 类型的能力) - 类型(布尔、数字、字符串、函数、对象,等等) - 基于原型的继承机制