网站公司做的网站被攻击,校园社交网站开发,充电宝seo关键词优化,深圳效果图公司排名DOM和BOM的区别 我们都指代#xff0c;javascript由三个部分组成#xff1a;
ECMAScript#xff1a;描述了JS的语法和基本对象 BOM(浏览器对象)#xff1a;与浏览器交互的方法和对象 DOM(文档对象模型)#xff1a;处理网页内容的方法和接 ps#xff1a;根据宿主#x…DOM和BOM的区别 我们都指代javascript由三个部分组成
ECMAScript描述了JS的语法和基本对象 BOM(浏览器对象)与浏览器交互的方法和对象 DOM(文档对象模型)处理网页内容的方法和接 ps根据宿主浏览器的不同具体的表现形式也不尽相同ie和其他浏览器风格迥异 DOM是文档对象模型它指的是把文档当作一个对象来对待这个对象主要定义了处理网页的内容和接口
BOM 主要处理浏览器窗口和框架不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括
弹出新的浏览器窗口 移动、关闭浏览器窗口以及调整窗口大小 提供 Web 浏览器详细信息的定位对象 提供用户屏幕分辨率详细信息的屏幕对象 对 cookie 的支持 IE 扩展了 BOM加入了 ActiveXObject 类可以通过 JavaScript 实例化 ActiveX 对象
javacsript是通过访问BOMBrowser Object Model对象来访问、控制、修改客户端(浏览器)由于BOM的window包含了documentwindow对象的属性和方法是直接可以使用而且被感知的因此可以直接使用window对象的document属性通过document属性就可以访问、检索、修改XHTML文档内容与结构。因为document对象又是DOMDocument Object Model模型的根节点。可以说BOM包含了DOM(对象)浏览器提供出来给予访问的是BOM对象从BOM对象再访问到DOM对象从而js可以操作浏览器以及浏览器读取到的文档。其中 BOM是浏览器对象模型它指的是将浏览器当作一个对象来对待这个对象主要定义了与浏览器进行交互的方法和接口 BOM的核心是window而window对象具有双重角色它既是js访问浏览器窗口的一个接口又是一个全局对象Global 这就意味着网页中定义的任何对象、变量和函数都会作为全局对象的一个属性或者方法存在
Window对象包含属性document、location、navigator、screen、history、frames Document根节点包含子节点forms、location、anchors、images、links
从window.document已然可以看出DOM的最根本的对象是BOM的window对象的子对象。
区别DOM描述了处理网页内容的方法和接口BOM描述了与浏览器进行交互的方法和接口。 3.使用标准
1DOM是W3C的标准所有浏览器公共遵守的标准 2BOM是各个浏览器厂商根据DOM在各自浏览器上的实现表现为不同浏览器定义有差别实现方式不同 3window为BOM对象而非js对象
4.包含属性
BOM location、navigato、document DOMdocument也是BOM的window的子对象 PSDOM的最根本的对象是BOM的window对象的子对象
DOM bom 真是Dom 和 虚拟Dom
参考 虚拟DOM和实际的DOM有何不同_虚拟dom和真实dom的区别-CSDN博客
虚拟DOM与真实DOM的区别注意需不需要虚拟DOM其实与框架的DOM操作机制有关 1.执行效率由于真实DOM的操作需要涉及浏览器的布局计算和渲染执行效率比虚拟DOM低。 2.性能优化虚拟DOM通过 diff 算法比较新旧DOM节点差异最终只更新部分节点可以减少页面渲染的开销提高性能。 3.开发效率虚拟DOM可以通过JS对象对DOM进行操作比直接操作真实DOM更加方便和灵活同时也可以借助React等框架提供的组件化机制使得开发效率更高。
什么是虚拟DOM 虚拟DOMVirtual Document Object Model是指用JS对象来描述DOM节点及其属性和内容的层次结构它是对真实DOM的一种抽象表示并不是真正的DOM节点。当页面需要更新时虚拟DOM首先进行比较找出需要更新的部分然后批量更新至真实DOM最终只会引起页面的局部重排和重绘可以减少页面渲染的开销提高性能。
真实DOM 真实DOMDocument Object Model是指浏览器中的渲染树由HTML元素、属性、文本和事件组成当页面中的元素发生变化时浏览器会重新构建渲染树此过程会引起页面的重排和重绘对性能影响较大。
虚拟dom(VNode),假的,不是真实的dom
真实的DOM在浏览器通过dom.api操作的,复杂的对象
虚拟DOM:可以通过this.$slots.default查看
真实的dom是一个对象,它的属性非常多,在浏览器中做dom操作,会比较消耗性能
虚拟dom是一个对象,它的属性相比较于真实的dom就比较少---用少量的属性描述一个dom,无法在浏览器中直接显示 为什么在vue中会用到虚拟dom? 有两点好处:
1.虚拟dom比真实dom体积小,操作是相对来说消耗性能少,如果在页面中删除一个dom,会引起重绘,影响后边元素的布局
1):虚拟Dom不会进行回流和重绘操作
2):虚拟dom进行频繁的修改,然后一次性比较并修改真实DOM中需要改的部分,最后并在真实DOM中进行回流和重绘,减少过多DOM节点的回流和重绘
3)真实Dom频繁的回流和重绘效率非常低 虚拟dom展示
真实dom展示