javascript的三大组成

核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)

核心(ECMAScript)

ECMAScript 并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法(这点与 C 这类语言不同,它需要依赖外部的库来完成这类任务)。那么什么才是 ECMAScript 呢?ECMA-262 标准(第 2 段)的描述如下:

“ECMAScript 可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言是与任何特定的宿主环境分开进行规定的... ...”

Web 浏览器对于 ECMAScript 来说是一个宿主环境,但它并不是唯一的宿主环境。事实上,还有不计其数的其他各种环境(例如 Nombas 的 ScriptEase,以及 Macromedia 同时用在 Flash 和 Director MX 中的 ActionScript)可以容纳 ECMAScript 实现。那么 ECMAScript 在浏览器之外规定了些什么呢?

简单地说,ECMAScript 描述了以下内容:

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 运算符
  • 对象

ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他语言可以实现 ECMAScript 来作为功能的基准,JavaScript 就是这样:

每个浏览器都有它自己的 ECMAScript 接口的实现,然后这个实现又被扩展,包含了 DOM 和 BOM。当然还有其他实现并扩展了 ECMAScript 的语言,例如 Windows 脚本宿主(Windows Scripting Host, WSH)、Macromedia 在 Flash 和 Director MX 中的 ActionScript,以及 Nombas ScriptEase。

文档对象模型(DOM)

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:

<html>
  <head>
    <title>Sample Page</title>
  </head>
  <body>
    <p>hello world!</p>
  </body>
</html>

这段代码可以用 DOM 绘制成一个节点层次图:

浏览器对象模型(BOM)

IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

  • 弹出新的浏览器窗口
  • 移动、关闭浏览器窗口以及调整窗口大小
  • 提供 Web 浏览器详细信息的定位对象
  • 提供用户屏幕分辨率详细信息的屏幕对象
  • 对 cookie 的支持
  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。

时间: 2024-11-05 20:30:55

javascript的三大组成的相关文章

JavaScript 特效三大系列总结

一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * 如果父级盒子没有定位, 那么会接着往上找有定位的盒子 * 如果上级元素都没有定位,那么最后距离是与body的left值 2. offsetTop : 用于获取元素到最近定位父盒子的顶部距离 * 计算方式:当前元素的上边框的上侧到定位父盒子的上边框下侧 * 如果父级盒子没有定位,那么会接着往上找有定位

JS基础(JavaScript三大特点、基本数据类型检测、逻辑运算符的短路运算、几大循环结构的特点)

JavaScript的三大特点 1.js是单线程语言,浏览器只分配给js一个主线程,用来执行任务(函数) 2.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. 3.数据类型可以被忽略的语言.一个变量可以赋不同数据类型的值. JavaScript基本数据类型检测 关键字  typeof(变量名或者数据) 用来检测数据类型 typeof对于的值只有六个,分别是: string.number.boolean.object.undefined.functio

初步认识javaScript

学习目标  >>了解javaScript组成部分      >>三大组成部分  >>认识javaScript解析机制      >>顺序解析,边解析边执行  >>如何使用javaScript      >>  <script></script>————————————————————————————什么是javaScript   >>javaScript是专为网页交互设计的脚本语言 ________

《Javascript高级程序设计第3版》精华总结

一.JavaScript简介 1.1 javascript简史 1.2 javascript实现 + javascript是一种专为网页交互而设计的一种脚本语言,javascript由三大部分组成: ECMAScript,提供核心语言功能: DOM,提供访问和操作网页页面的方法和接口: BOM,提供与浏览器交互的方法和接口. 1.3 javascript的版本 二.在HTML中使用JavaScript 2.1 <script>元素 + 使用<script>元素向html页面中插入j

JavaScript学习总结(二)数组和对象部分

转自:http://segmentfault.com/a/1190000000653028 对象部分 Object类型 Object 是一个无序的集合,可以存放任意类型对象,所有其他对象都继承自这个对象.创建Object类型有两种,一种是使用new运算符,一种是字面量表示法. 1.使用new运算符创建Object var obj = new Object();//注意大写,也可以直接写成Object() 注意,通过new Object() 的写法生成新对象,与字面量的写法 obj = {} 是等

javascript 知识点梳理 -- 整理自广州传智王老师

Javascript Javascript中的数据类型 在JavaScript中一共有六种数据类型: 1)String   :字符串类型,在JavaScript中可以通过双引或单引括起来 2)Number  :数值类型,在JavaScript是没有整形与浮点型之说的,所有的数值类型都属于Number类型,10  10.88  5.66 3)Boolean  :布尔类型,其值可以是true或false 4)Undefined :变量有声明,但未赋值 5)Null      :空类型 6)Objec

JavaScript权威指南第01章 JavaScript 概述

JavaScript 概述 html +css +JavaScript = 网页三大利器 特点: 健壮性 高效性 通用性 1.JavaScript  语言核心 2.客户端JavaScript JavaScript权威指南第01章 JavaScript 概述

javascript 入门

0.html决定网页的结构.  css决定网页的表现  javascript决定网页的行为1.javascript是一种基于对象和事件驱动的脚本语言,在客户端执行,在客户端主要实现数据验证和页面特效,大大提高了网页的浏览速度和交互能力.2.为什么使用javascript?    减小服务器的压力,将部分数据在界面验证,不需要发送到服务器端进行验证.    实现动态页面的效果    动态改变页面内容3.javascript的组成    javascript由三大内容组成 ECMA script.d

【javascript】javascript 变量命名规则

javascript 有三大经典的变量命名法:匈牙利命名法,驼峰式命名法和帕斯卡命名法.今天主要介绍下这三种命名方式. 文章链接:http://zhuyujia.github.io/2015/10/javascript-variable-naming-rule.html. PS: 以后的文章都会放到 zhuyujia.github.io 上,博客园仅提供文章链接,造成的不便敬请谅解.