广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript中DOM和BOM原理详析
  • 916
分享到

JavaScript中DOM和BOM原理详析

2024-04-02 19:04:59 916人浏览 薄情痞子
摘要

目录前言DOM为什么要创建DOM节点或者画一个类似于这样的结构图?DOM的家世1.DOM为啥这么有必要?2.DOM的迭代,有啥区别?3.注意注意!!DOM的好兄弟BOM!小结前言 本

前言

本系列用于撰写作者在学习javascript及浏览JavaScript相关书籍时所遇到的一些问题及心得

DOM

首先我们要了解JavaScript里面一个非常重要的模型:文档对象模型(DOM,全称Document Object Model),这是一个应用编程api接口,我们一般在html页面中使用扩展的XML,提到DOM,我们就得想到节点,换句话说,HTML或者XML页面是由不同的节点组成的页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>

上图是一个很明显的HelloWorld的界面,也是大多数程序员“梦”开始的地方,我们现在的重点不在如何写代码,本文重在讲解html的结构分析

通过上图我们可以看到,使用DOM节点对HTML的结构进行分解

HTML分为两部分,headbodyhead“分配”下去title(标题)和Sample Pagebody分配下去则是段落标签p及网页内容,看到这里,一些读者会产生如下疑问

为什么要创建DOM节点或者画一个类似于这样的结构图?

通过这个结构图,我们能够很清晰的看到文档的结构,有助于我们快速开发前端HTML页面,尽量减少后期代码冗余带来的不必要的麻烦,因此,我们使用DOM API可以轻松的删除、添加、替换、修改节点从而更改文档的结构

接下来我们重点讲讲DOM这个大家伙

DOM的家世

1.DOM为啥这么有必要?

首先我们得明白一个问题,世界上有诸多浏览器,如360、IE、Edge、Chrome等等,这些浏览器都不是同一家公司研发出来的,那么就意味着遵守的网页规则也不一样,浏览器软件是无穷无尽的,但是咱们的技术得跟上呀,因此我们需要一个稳定的结构去能够兼容各大浏览器运行HTMLDOM应运而生。此处插个题外话,DOM标准是W3C制定的哦,也就是咱们熟悉的万维网联盟

2.DOM的迭代,有啥区别?

在1998年的10月,DOM Level 1成为了W3C的推荐标准,这个DOM Level 1是由DOM Core 和DOM HTML组成的。前者提供了上文说到的XML文档(映射关系),后者在前者的基础上进行扩增,增加了特定于HTML的对象和方法

3.注意注意!!

DOM并不是JavaScript的独生子,其他的一些语言也可以实现DOM操作,对于浏览器来说,DOM就是使用ECMAScript实现的,现在已经成为了JavaScript的一大组成部分(有种先入为主的感觉

关于DOM Level 2嘛,估计大部分读者不算太重视,毕竟谁学编程语言是专门来看DOM的定义和陈年旧事的对吧,简单的来说,DOM Level 2通过对象借口支持了层叠样式表,也就是咱们熟悉的CSS~

剩下的DOM资料讲解不再在本文中赘述,有兴趣的读者可以买一本 《JavaScript高级程序设计(第四版)》 看看哦

DOM的好兄弟BOM!

说完了DOM,咱们来看看BOM是个啥玩意,用脚想都知道,这玩意肯定跟浏览器脱不了干系~

简单的来说,BOM主要针对的是浏览器窗口的问题,比如弹出新窗口,移动、缩放窗口,加载窗口信息等等~

毕竟,你也不想因为浏览器窗口的问题被DOM知道吧?

还是那句话,剩下的BOM资料讲解不再在本文中赘述,有兴趣的读者可以买一本 《JavaScript高级程序设计(第四版)》 慢慢摸索

小结

到此这篇关于JavaScript中DOM和BOM原理详析的文章就介绍到这了,更多相关js DOM和BOM内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript中DOM和BOM原理详析

本文链接: https://www.lsjlt.com/news/168633.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中DOM和BOM原理详析
    目录前言DOM为什么要创建DOM节点或者画一个类似于这样的结构图?DOM的家世1.DOM为啥这么有必要?2.DOM的迭代,有啥区别?3.注意注意!!DOM的好兄弟BOM!小结前言 本...
    99+
    2022-11-13
  • JavaScript中BOM和DOM详解
    目录BOM(浏览器对象模型) 1. window 获取浏览器c窗口尺寸 2. screen 获取电脑屏幕大小 3. window 开启关闭窗口 4. 浏览器事件 5. locatio...
    99+
    2022-11-12
  • 怎么理解JavaScript中的BOM和DOM
    本篇内容主要讲解“怎么理解JavaScript中的BOM和DOM”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解JavaScript中的BOM和DOM”吧...
    99+
    2022-10-19
  • JavaScript中BOM,DOM和事件的用法详解
    目录BOM概念对象组成Window:窗口对象Location:地址栏对象History:历史记录对象DOM概念W3C DOM 标准被分为 3 个不同的部分核心DOM模型HTML DO...
    99+
    2022-11-13
  • JavaScript中ECMAScript、BOM、DOM的示例分析
    小编给大家分享一下JavaScript中ECMAScript、BOM、DOM的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下...
    99+
    2022-10-19
  • JavaScript中的DOM与BOM实例分析
    这篇文章主要介绍“JavaScript中的DOM与BOM实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的DOM与BOM实例分析”文章能...
    99+
    2022-10-19
  • JavaScript中BOM和DOM有什么区别
    这篇文章将为大家详细讲解有关JavaScript中BOM和DOM有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。BOM定义了JavaScript可以...
    99+
    2022-10-19
  • JavaScript中BOM,DOM和事件怎么使用
    这篇文章主要介绍“JavaScript中BOM,DOM和事件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中BOM,DOM和事件怎么使用”文章能帮助大家解决问题。BOM概...
    99+
    2023-07-02
  • 浅析Vue中Virtual DOM和Diff原理及实现
    目录0. 写在开头1. vdom2. Diff0. 写在开头 本文将秉承Talk is cheap, show me the code原则,做到文字最精简,一切交由代码说明! 1. ...
    99+
    2023-03-21
    Vue Virtual DOM Diff原理 Vue Virtual DOM Vue Diff
  • JavaScript中Debugger的原理分析
    这篇文章给大家分享的是有关JavaScript中Debugger的原理分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码运行的原理是什么代码的运行方式可以分为直接执行和解释执...
    99+
    2022-10-19
  • Vue2.x中虚拟DOM diff原理的示例分析
    这篇文章主要介绍Vue2.x中虚拟DOM diff原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言经常看到讲解Vue2的虚拟Dom diff原理的,但很多都是在原代码...
    99+
    2022-10-19
  • Spring Boot 中starter的原理详析
    目录1、springboot 的starter 的启动原理是什么原理来个例子小结2、springboot 是如何找到配置类的3、springboot starter 的bean 是怎...
    99+
    2022-11-13
  • 详解JavaScript中的原型和原型链
    目录原型链图原型必备知识prototype属性(显示原型)proto属性(隐式原型)constructor属性总结 原型链图 原型必备知识 要了解原型就必须搞清三个属性:__pro...
    99+
    2022-11-12
  • vue v-for中key的原理详析
    目录前言key是什么逻辑设置key与不设置key 的区别设置key值一定能提高diff效率吗?原理分析最后前言 最近在面试的时候,面试官问我说v-for的key值是用来做什么的,我说...
    99+
    2022-11-13
  • Javascript中DOM、节点和获取元素的示例分析
    这篇文章给大家分享的是有关Javascript中DOM、节点和获取元素的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DOM文档:DOM中的“D”,当创建一个网页并把它加载到Web浏览器中时,它把编写的网...
    99+
    2023-06-25
  • 详解javascript reduce函数的原理和用法
    reduce函数是Javascript中一个非常常用的函数,它可以大大简化我们对数组的操作。在这篇文章中,我们将详细讲解reduce函数的原理以及如何实现它。一、reduce函数的概念reduce函数是Javascript中一个非常重要的函...
    99+
    2023-05-14
  • JSP 中Session的详解及原理分析
    JSP(JavaServer Pages)中的Session是一种用于在服务器端存储和传递用户数据的机制。它可以在一个用户的多个请求之间保持数据的一致性,并且允许用户在不同的页面之间共享数据。下面是Session的详解和原理分析:Ses...
    99+
    2023-08-09
    js
  • JavaScript中call、apply、bind实现原理详解
    目录前言call用法实现简单的实现版本:升级版:apply用法实现bind用法基本版:升级版:总结前言 众所周知 call、apply、bind 的作用都是‘改变'作用域,但是网上对...
    99+
    2022-11-12
  • Java详解HashMap实现原理和源码分析
    目录学习要点:1、什么是HashMap?2、HashMap的特性3、HashMap的数据结构4、HashMap初始化操作4.1、成员变量4.2、 构造方法5、Jdk8中HashMap...
    99+
    2022-11-12
  • 详解Java线程池和Executor原理的分析
    详解Java线程池和Executor原理的分析线程池作用与基本知识在开始之前,我们先来讨论下“线程池”这个概念。“线程池”,顾名思义就是一个线程缓存。它是一个或者多个线程的集合,用户可以把需要执行的任务简单地扔给线程池,而不用过多的纠结与执...
    99+
    2023-05-31
    java 线程池 executor
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作