DOM和BOM

作者: zhulichao | 来源:发表于2020-07-23 09:18 被阅读0次

    DOM和BOM

    参考 DOM与BOMBOM和DOM详解

    javascript 有三部分构成:ECMAScript,DOM和BOM。根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异。

    核心(ECMAScript):描述了JS的语法和基本对象
    文档对象模型(DOM):描述了处理网页内容的方法和接口,Document对象
    浏览器对象模型(BOM):描述了与浏览器交互的方法和接口,Window对象

    DOM(Document Object Model)

    DOM(文档对象模型)是W3C的标准,所有浏览器公共遵守的标准。
    DOM 是HTML和XML的应用程序接口(API),就是把「文档」当做一个「对象」来看待。
    DOM 使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式,是平台和语言中立的接口。

    DOM基本操作思维导图(转)

    BOM(Browser Object Model)

    BOM(浏览器对象模型)是各个浏览器厂商根据DOM在各自浏览器上的实现,表现为不同浏览器定义有差别,实现方式不同。
    BOM 就是把「浏览器」当做一个「对象」来看待,BOM除了可以访问文档中的组件之外,还可以访问浏览器的组件。
    BOM 定义了JavaScript可以进行操作的浏览器的各个功能部件的接口,主要处理浏览器窗口和框架,不过通常浏览器特定的JavaScript扩展都被看做BOM的一部分,这些扩展包括:

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

    Window对象思维导图(转)

    注意:window 是 BOM 对象,而非 js 对象

    关系

    Javacsript是通过访问BOM对象来访问、控制、修改客户端(浏览器),由于BOM的window包含了document,因此可以直接使用window对象的document属性来访问、检索、修改XHTML文档内容与结构。因为document对象又是DOM模型的根节点,也就是DOM的最根本的对象是BOM的window对象的子对象,可以说,BOM包含了DOM,浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。
    区别:DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

    BOM和DOM的结构关系示意图(转)

    相关文章

      网友评论

          本文标题:DOM和BOM

          本文链接:https://www.haomeiwen.com/subject/glyxhktx.html