JavaScript简介

一个完整的JavaScript 实现应该由下列三个不同的部分组成

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

ECMAScript

由ECMA-262 定义的ECMAScript 与Web 浏览器没有依赖关系。实际上,这门语言本身并不包含输
入和输出定义。ECMA-262 定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。
我们常见的Web 浏览器只是ECMAScript 实现可能的宿主环境之一。宿主环境不仅提供基本的
ECMAScript 实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。而这些扩展——如
DOM,则利用ECMAScript 的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。其他
宿主环境包括Node(一种服务端JavaScript 平台)和Adobe Flash。

文档对象模型(DOM)

文档对象模型(DOM,Document Object Model)是针对XML 但经过扩展用于HTML 的应用程序编
程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML
或XML 页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

浏览器对象模型(BOM)

Internet Explorer 3 和Netscape Navigator 3 有一个共同的特色,那就是支持可以访问和操作浏览器窗
口的浏览器对象模型(BOM,Browser Object Model)。开发人员使用BOM 可以控制浏览器显示的页面
以外的部分。而BOM 真正与众不同的地方(也是经常会导致问题的地方),还是它作为JavaScript 实现
的一部分但却没有相关的标准。这个问题在HTML5 中得到了解决,HTML5 致力于把很多BOM 功能写
入正式规范。HTML5 发布后,很多关于BOM 的困惑烟消云散。
从根本上讲,BOM 只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的JavaScript 扩展
算作BOM的一部分。下面就是一些这样的扩展:

  • 弹出新浏览器窗口的功能;
  • 移动、缩放和关闭浏览器窗口的功能;
  • 提供浏览器详细信息的navigator 对象;
  • 提供浏览器所加载页面的详细信息的location 对象;
  • 提供用户显示器分辨率详细信息的screen 对象;
  • 对cookies 的支持;
  • 像XMLHttpRequest 和IE 的ActiveXObject 这样的自定义对象。

由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现。虽然也存在一些事实标准,例如
要有window 对象和navigator 对象等,但每个浏览器都会为这两个对象乃至其他对象定义自己的属
性和方法。现在有了HTML5,BOM 实现的细节有望朝着兼容性越来越高的方向发展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值