码迷,mamicode.com
首页 > 编程语言 > 详细

javascript简介

时间:2015-01-29 19:20:50      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

一个完整的javascript应该由三部分组成:ECMAScript、BOM、DOM

ECMAScript

ECMAScript提供核心功能,DOM提供访问和操作网页内容的方法和接口,BOM提供与浏览器交互的方法和接口。

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

既然ECMA-262标准没有参照web浏览器,那他都规定了什么内容呢?大致来说,他都规定了这门语言的下列组成部分:

语法

类型

语句

关键字

保留字

操作符

对象

 

ECMAscript就是对实现该标准对应的各个方面内容的语言描述。javascript实现了ECMAscipt,Adobe ActionScript同样也实现了ECMAscript.

 

DOM

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

 

浏览器对象模型BOM

Internet 3 和 Netscape Navigator3 有一个共同的特色,那就是支持可以访问和操作浏览器窗口的浏览器对象模型BOM。开发人员可以用BOM控制浏览器页面以外的部分。而BOM真正与众不同的地方(也是会经常导致问题的地方)就是她做为javascript实现的一部分,但是却没有相关的标准。这个问题在HTML5中得到了解决。HTML5致力于把很多BOM功能写入正式规范。HTML5发布后,很多关于BOM的问题就会烟消云散。

 

从根本上讲,BOM只处理浏览器窗口和框架。但人们习惯也把所有针对浏览器的扩展也算做BOM的一部分。例如:

 

弹出新浏览器窗口的功能。

移动,缩放,关闭浏览器窗口的功能

提供浏览器详细信息的Navigator对象。

提供浏览器所加载页面详细信息的location对象

提供用户显示器分辨率详细信息的screen对象

对cookies的支持

像XMLHTTPRequest对象和IE的ActiveXObject对象

 

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

 

javascript组成的这三个部分,在当今这些浏览器中(IE 、FF、chrome 、safari、Opera)中都得到了不同的支持。其中,所有浏览器对ECMAscript的支持都还不错,对DOM的支持则彼此相差比较多,对HTML5正式纳入标准的BOM来说,尽管各个浏览器都实现了某些总所周知的特性,但其他特性还是会因浏览器而异。

 

javascript简介

标签:

原文地址:http://www.cnblogs.com/sandraBlog/p/javascript_jianjie.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!