JavaScript:修订间差异
创建页面,内容为“JavaScript(通常缩写为JS)是一种基于原型、多范式的动态脚本语言,其核心语法与结构遵循ECMAScript标准。该语言最初由布兰登·艾奇(Brendan Eich)于1995年在网景通信公司(Netscape Communications)设计实现,旨在为网页提供动态交互能力,后随万维网的发展成为世界上使用最广泛的通用编程语言之一<ref name=":0">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000…” |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
JavaScript(通常缩写为JS)是一种基于原型、多范式的动态脚本语言,其核心语法与结构遵循ECMAScript标准。该语言最初由布兰登·艾奇(Brendan Eich)于1995年在网景通信公司(Netscape Communications)设计实现,旨在为网页提供动态交互能力,后随万维网的发展成为世界上使用最广泛的通用编程语言之一<ref name=":0">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000443.shtml ECMAScript Language (ECMA-262), including JavaScript - Library of Congress]</ref>。JavaScript与ECMAScript的关系为:ECMAScript是由Ecma国际组织制定的语言规范标准,JavaScript是该规范最主要的实现与方言<ref name=":1">[https://262.ecma-international.org/15.0/ ECMAScript® 2024 Language Specification - Ecma International]</ref>。除浏览器环境外,JavaScript亦通 | JavaScript(通常缩写为JS)是一种基于原型、多范式的动态脚本语言,其核心语法与结构遵循ECMAScript标准。该语言最初由布兰登·艾奇(Brendan Eich)于1995年在网景通信公司(Netscape Communications)设计实现,旨在为网页提供动态交互能力,后随万维网的发展成为世界上使用最广泛的通用编程语言之一<ref name=":0">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000443.shtml ECMAScript Language (ECMA-262), including JavaScript - Library of Congress]</ref>。JavaScript与ECMAScript的关系为:ECMAScript是由Ecma国际组织制定的语言规范标准,JavaScript是该规范最主要的实现与方言<ref name=":1">[https://262.ecma-international.org/15.0/ ECMAScript® 2024 Language Specification - Ecma International]</ref>。除浏览器环境外,JavaScript亦通过[[Node.js]]等平台广泛应用于服务器端与嵌入式系统开发<ref name=":2">[https://tc39.es/ecma262/2024/ ECMAScript® 2024 Language Specification - TC39]</ref>。 | ||
{| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;" | {| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;" | ||
| 第15行: | 第15行: | ||
| 发行时间 || 1995年12月 | | 发行时间 || 1995年12月 | ||
|- | |- | ||
| 开发公司 || | | 开发公司 || [[网景通信公司]](Netscape) | ||
|- | |- | ||
| 标准化组织 || Ecma国际(Ecma International) | | 标准化组织 || Ecma国际(Ecma International) | ||
| 第25行: | 第25行: | ||
| 编程范式 || 多范式(事件驱动、函数式、面向对象) | | 编程范式 || 多范式(事件驱动、函数式、面向对象) | ||
|- | |- | ||
| 运行环境 || | | 运行环境 || [[浏览器]]、[[Node.js]]、[[嵌入式系统]]等 | ||
|} | |} | ||
| 第46行: | 第46行: | ||
=== 核心组成 === | === 核心组成 === | ||
从实现层面看,完整的JavaScript技术栈通常包含三个部分:ECMAScript(定义语法、类型、关键字、对象等语言核心)、文档对象模型(DOM,提供操作网页元素的API)以及浏览器对象模型(BOM,提供与浏览器交互的API)<ref name=":5">[https://juejin.cn/post/7149607339392237582 JavaScript是开源的吗? - 掘金]</ref>。其中ECMAScript本身并不依赖于特定宿主环境,其规范未定义输入输出机制,需由宿主环境(如浏览器 | 从实现层面看,完整的JavaScript技术栈通常包含三个部分:ECMAScript(定义语法、类型、关键字、对象等语言核心)、文档对象模型(DOM,提供操作网页元素的API)以及浏览器对象模型(BOM,提供与浏览器交互的API)<ref name=":5">[https://juejin.cn/post/7149607339392237582 JavaScript是开源的吗? - 掘金]</ref>。其中ECMAScript本身并不依赖于特定宿主环境,其规范未定义输入输出机制,需由宿主环境(如[[浏览器]]、[[Node.js]])提供具体实现<ref name=":0" />。 | ||
JavaScript是一种动态类型语言,支持多种编程范式,包括面向对象(基于原型而非类)、函数式和事件驱动编程。其语法设计上借鉴 | JavaScript是一种动态类型语言,支持多种编程范式,包括面向对象(基于原型而非类)、函数式和事件驱动编程。其语法设计上借鉴了[[Java]]、C等语言,但更为宽松,采用原型链实现对象继承,并内置了垃圾回收机制<ref name=":2" />。 | ||
=== 执行环境 === | === 执行环境 === | ||
现代JavaScript引擎普遍采用即时编译(JIT)技术以提升执行效率,将源代码在运行时编译为机器码,而非传统的逐行解释执行<ref name=":0" />。主流引擎包括Google的V8(用 | 现代JavaScript引擎普遍采用即时编译(JIT)技术以提升执行效率,将源代码在运行时编译为机器码,而非传统的逐行解释执行<ref name=":0" />。主流引擎包括Google的V8(用于[[Chrome]]与[[Node.js]])、Mozilla的SpiderMonkey(用于Firefox)、Apple的JavaScriptCore(用于Safari)等<ref name=":6">[https://juejin.cn/post/7333421776461135881 死磕前端之 —— 规范、语言、引擎、运行时 - 掘金]</ref>。这些引擎均遵循ECMAScript标准实现语言核心功能,并各自扩展了宿主环境相关的API。 | ||
== ECMAScript标准 == | == ECMAScript标准 == | ||
| 第60行: | 第60行: | ||
== 应用领域 == | == 应用领域 == | ||
JavaScript最初设计 | JavaScript最初设计为[[Web浏览器]]的脚本语言,用于增强网页交互性。随着ECMAScript标准的演进和Node.js等运行时的出现,其应用范围已扩展至服务器端开发、桌面应用(如Electron)、移动应用、游戏开发及物联网嵌入式系统等领域<ref name=":2" />。此外,基于ECMAScript规范的其他实现还包括Adobe曾使用的ActionScript等<ref name=":0" />。 | ||
== 参考文献 == | == 参考文献 == | ||
<references /> | <references /> | ||