• javascript简介


    一个完整的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来说,尽管各个浏览器都实现了某些总所周知的特性,但其他特性还是会因浏览器而异。

  • 相关阅读:
    PHP设计模式:简单工厂
    MySQL实现两张表数据的同步
    SSH中Action的单例与多例
    Java日期时间操作的一些方法
    Null value was assigned to a property of primitive type setter of
    Android Studio创建AVD
    一台主机上安装多个Tomcat
    Tomcat指定的服务已存在
    Unsupported major.minor version 52.0问题的解决
    修改MySQL自动递增值
  • 原文地址:https://www.cnblogs.com/sandraBlog/p/javascript_jianjie.html
Copyright © 2020-2023  润新知