0

0

一起看看ECMAScript和JavaScript的区别

coldplay.xixi

coldplay.xixi

发布时间:2021-01-27 17:50:47

|

2746人浏览过

|

来源于CSDN

转载

一起看看ECMAScript和JavaScript的区别

免费学习推荐:js视频教程

1、ECMAScript的简介

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。

1.1 ECMA International

立即学习Java免费学习笔记(深入)”;

ECMA International是一家国际性会员制度的信息和电信标准组织,它和企业密切相连的组织,所以 Ecma国际制定的规范标准都是由各类企业来做主要的制定和推广。1997年该组织发布了MCMA-262的标准,该标准制定了ECMAScript语言规范。ECMAScript就是从这里来的。

1.2 ECMA-262标准(ES标准)

ECMA-262是ECMA TC39小组制定的关于脚本语言的规范标准。TC39成员由来自一些对脚本编程感兴趣的公司的程序员组成的。

ECMA-262标准定义了ECMAScript语言规范。这个标准也叫成为ECMAScript语言规范(ECMAScript Language Specification),简称ES规范。

ES规范从1997发布到现在为止是第八个版本。ECMAScript是基于几种原始技术,最著名的是JavaScript(Netscape Navigator 2.0)和JScript(Microsoft IE3)。

1.3 JavaScript标准化的历程

1995年前后:互联网爆发,Web应用层出不穷,那时候只要有注册一个.com的域名,基本就能暴富,就如同现在的区块链和人工智能。就在那时候JavaScript有三个主流版本:

(1)Netscape Navigator 3.0 中的 JavaScript。

(2)IE 中的 JScript。

(3)CEnvi 中的ScriptEase。

与和其它编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。

1997年:JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA)。第 39 技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”。 锤炼出了 ECMA-262第一版,该标准定义了名为 ECMAScript 的全新脚本语言。

1998年:国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。同年发布了ECMA-262第二个版(ES2).第二个版本基本没有加新功能。

2002年:ECMA-262第三版(ES3),新增引入了强大的正则表达式,更好的字符串处理,新的控制语句,try / catch异常处理,更严格的错误定义,数字输出的格式化以及预期未来语言增长的微小变化。第三版在当时应用非常广泛,几乎所有的浏览器都支持ES3的标准。

ECMA-262第4版本(ES4)夭折,部分功能被迁移到ES6中。

2009年:ECMA-262第五版(ES5)发布。在ES3的基础上增加了很多功能:包括访问器属性,对象的反射创建和检查,属性的程序控制,附加的数组操作函数,对JSON对象编码格式的支持以及提供增强的错误检查和程序安全性的严格模式。

2011年:被批准为国际标准ISO/IEC 16262:2011。同年发布ES5.1版本(对ES5做一些升级优化)同时被MCMA-262和ISO/IEC批准。

2015年:ECMA-262第六版(ES6或者叫ES 2015语言规范),ES6可以说从2000年,ES3发布之后就开始沉淀,由于ES4的夭折,ES4中的一些功能特性一直等到ES6才发布,所以第六版的完全是十五年的努力的结果。

ES6为大型应用程序提供更好的支持,创建Lib库,以及使用ECMAScript作为其它语言的编译目标。ES6主要新增了如下功能:主要增强包括模块,类声明,词法块范围,迭代器和生成器,异步编程的承诺,解构模式和适当的尾部调用。内置的ECMAScript库被扩展为支持额外的数据抽象,包括映射,集合和二进制数值数组,以及对字符串和正则表达式的使用。

2、JavaScript的简介

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

JavaScript是通用的跨平台脚本语言,遵守ECMA-262标准(ES标准),换句话说就是ECMAScript的方言。为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

JavasSript商标属于Oracle公司,因为Sun公司被Oracle收购。JavaScript早年被Sun公司注册,代表JavaScript这门语言。但是最早发明JavaScript是网景公司。在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

云从科技AI开放平台
云从科技AI开放平台

云从AI开放平台

下载

2.1 JavaScript基本特点

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

(1)一种解释性脚本语言(代码不进行预编译)。

(2)主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

(3)可以直接嵌入HTML页面,但写成单独的JS文件有利于结构和行为的分离。

(4)跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

Javascript脚本语言同其它语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

2.2 JavaScript组成部分

JavaScript由ECMAScript、DOM、BOM三部分组成,如下图。

JavaScript组成部分

(1)ECMAScript:描述了该语言的语法和基本对象。

(2)DOM:文档对象模型(DOM),描述处理网页内容的方法和接口。

(3)BOM:浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

2.2.1 DOM 文档对象模型

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,既有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。

2.2.2 BOM 浏览器对象模型

BOM(Browser Object Model)即浏览器对象模型。BOM提供了独立于内容而与浏览器窗口进行交互的对象;由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性;BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。

浏览器窗口交互的一些对象,例如可以移动、调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器、操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等。

2.3 JavaScript处理引擎

JavaScript处理引擎是能解析并且运行JavaScript代码的解释器。浏览器通常会有JavaScript引擎,JavaScript刚出来时就是运行在浏览器中,作为客户端语言使用。

常见的JavaScript引擎:

(1)Chrome V8

(2)Firefox SpiderMonkey

(3)Microsoft Edge Chakra

提一下Node.js是基于Chrome V8引擎。上文提到V8引擎是用来解析执行JS,并且V8是基于ECMAScript标准实现的。换个角度说,Node.js里头没有DOM和BOM的操作,只保留的JavaScript的语法核心(ES),并且增加了事件驱动的非阻塞 I/O 模型,使其轻量级和高效。Node.js作为服务运行在Windows、Linux、Mac,把JavaScript的角色从前台开发,转移到了后台开发。

还有当前有点过时的用于Flash编程的ActionScript也是ECMAScript的具体实现。

相关免费学习推荐:javascript学习教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

362

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

118

2025.11.26

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

422

2026.02.10

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

457

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

549

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

531

2023.06.20

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

37

2026.03.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ECMAScript6 / ES6---十天技能课堂
ECMAScript6 / ES6---十天技能课堂

共25课时 | 2.1万人学习

走进 ES6 新标准语法
走进 ES6 新标准语法

共15课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号