Javascript与ECMAScript
我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的。
ECMAScript是一种脚本在语法和语义上的标准。
主要包括:语法、类型、语句、关键字、保留字、操作符、对象。
它与浏览器之间,没有半毛钱关系。
而Javascript是基于ECMAScript标准实现的。Javascript不仅仅包括ECMAScript,它其实还包含了其他东西。
Javascript主要由三个部分组成,见下图:

在上面ECMAScript与Javascript的比较中,已经谈了ECMAScript了。
下面,我们来看看DOM和BOM到底是什么呢?
DOM(Document Object Model)是HTML和XML的应用程序接口(API),W3C的标准即事为它而制定。
BOM(Browser Object Model)是提供与浏览器进行交互的方法和接口,由于不同的浏览器实现方法不同,从而表现也可能不同。
且BOM的核心是window对象,而window又是一个全局对象,这就意味着网页中定义的任何对象、变量、函数都是以window作为全局对象的。
并且可以这么说,BOM是包含了DOM。
为什么呢?
因为DOM是通过document来访问、检索、修改网页内容与结构的,但DOM中的window又包含了这个document属性。
DOM与BOM的具体情况,可以从下图看出:

Javascript与ECMAScript的更多相关文章
- javascript、ECMAScript、DOM、BOM关系
ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...
- JavaScript 、ECMAScript、commonJS 发展历史 与标准化发展
本文介绍下JavaScript和 ECMAScript的诞生及发展历史,以及标准化过程. 一.JavaScript诞生 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版. ...
- JavaScript基础 -- ECMAscript
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本 ...
- JavaScript组成部分——ECMAScript、DOM、BOM、
1.JavaScript组成部分 虽然 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但 JavaScript 的含义却比ECMA-262标准中规定的要多得多. 一个完 ...
- Javascript和ECMAScript二三事
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(一) Javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同部分组成: ...
- Javascript组成--ECMAScript,DOM,BOM
ECMAScript 部分 ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript; “ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力”,即EC ...
- JavaScript(ECMAScript) with 语句
有同事,爱尝鲜,JavaScript ECMAScript with 语句,找了半天不知道局部变量的出处,原来是with语句搞得鬼. http://www.w3school.com.cn/js/pro ...
- JavaScript:ECMAScript 引用类型
ylbtech-JavaScript:ECMAScript 引用类型 1. 返回顶部 2. ECMAScript 引用类型返回顶部 引用类型通常叫做类(class). 本教程会讨论大量的 ECMASc ...
- JavaScript之ECMAScript
JavaScript脚本语言, 运行在浏览器上,无需编译, 轻量级的语言. 功能:让页面有执行逻辑的功能, 可以产生一些动态的效果 JavaScript = ECMAScript + BOM + DO ...
随机推荐
- PO,VO,BO,DTO,POJO(POCO),DAO的区别(转载)
PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:business object业 ...
- 非交织YUV格式转换
本文为自己写的从非交织yuv420转换出yuv444,yuv422h,yuv422v和手动裁剪422h,422v图片的代码 #include <fcntl.h> #include < ...
- Django 权限管理
对于Django而言,虽然自带了一些基本的通用权限限制,但现实中,可能我们更希望自己去定义业务权限划分 Django对于权限这块的部分验证方法 user = request.user user.is_ ...
- spring和Hibernate整合
首先导入spring和Hibernate的jar包,以及JDBC和c3p0的jar包, 然后就是Hibernate的XML配置文件,不需要加入映射文件,这里用spring容器管理了. Hibernat ...
- int与string类型的转换
在SQL语句中 在JS中, (1) var x=100 a = x.toString() (2) var x=100; a = x +"" ...
- Unity3D 模型导入Error
在导入3d max模型的时候报错: 3ds Max could not be found.Make sure that 3ds Max is installed and the max file ha ...
- 封装自己的DB类(PHP)
封装一个DB类,用来专门操作数据库,以后凡是对数据库的操作,都由DB类的对象来实现.这样有了自己的DB类,写项目时简单的sql语句就不用每次写了,直接调用就行,很方便! 1.封装一个DB类.一个类文件 ...
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- 装逼名词-ABA CAS SpinLock
今天看wiki,看到一个提到什么什么会陷入 race condition & ABA problem.丫的我没听过ABA呀,那么我去搜了一下,如下: http://www.bubuko.com ...
- ABP理论学习之应用服务
返回总目录 本篇目录 IApplicationService接口 ApplicationService类 工作单元 数据库连接和事务管理 自动保存更改 更多 应用服务的生命周期 应用服务用于将领域逻辑 ...