BOM与DOM(解疑document window关系)

在这里插入图片描述

BOM(浏览器对象模型)

定义与作用
BOM(Browser Object Model)提供与浏览器窗口交互的接口,用于控制导航、窗口尺寸、历史记录等浏览器行为

window:浏览器窗口的顶层对象,包含全局属性和方法(如 alert())

BOM的核心对象是window,而DOM的核心对象document是window的一个属性。通过window.document可以直接访问DOM的根节点,这表明DOM在结构上是BOM的子集

DOM(文档对象模型)

定义与作用
DOM(Document Object Model)是用于操作 HTML/XML 文档的编程接口,它将网页内容解析为树状结构(DOM树),允许开发者通过 JavaScript 动态访问和修改页面元素、属性、样式及事件等

核心对象:document 是 DOM 的入口,代表整个 HTML 文档

节点类型:
元素节点(如

)、文本节点(元素内的文本)、属性节点(如 class)等
在这里插入图片描述

alert()、,实际是调用window.alert()、
**// 直接访问 document
document.getElementById(“content”);

// 等价于通过 window 访问
window.document.getElementById(“content”);

BOM 的组成部分: console 是浏览器对象模型(BOM)提供的调试工具接口,而 BOM 的核心对象是 window,因此 console 作为浏览器功能的一部分,自然挂载在 window 下。
全局作用域的体现: window 是浏览器中的全局作用域对象,所有浏览器提供的全局 API(如 document,console)均是其属性
window.alert(…) 警告框
document.write(…) 在HTML 输出内容
console.log(…) 写入浏览器控制台
没有写window的其实默认有
原因,window 是全局对象 在浏览器环境中,window 是 JavaScript 的全局对象,所有全局作用域下的变量、函数和内置方法均属于 window 的属性或方法 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

水域陆地两相宜,便携漏电探测仪

在自然灾害如洪水、地震、台风及火灾中,建筑物和电力设施易因结构破坏、线路老化或设备浸水导致绝缘失效,引发漏电事故。漏电不仅直接威胁人员生命安全,还可能引发二次火灾或爆炸,尤其在潮湿环境下导电性增强,触电风险…

c加加学习之day06->STL标准库->day01

1.介绍:C 标准模板库(Standard Template Library,简称 STL)是一组泛型编程的模板类和函数,旨在提供常用的数据结构、算法和函数对象。STL 是 C 标准库的一部分,极大地提高了编程效率和代码的可重用性。STL …

onnx注册cpu版flashattention

摘要 本教程展示了如何在 ONNX Runtime 中注册一个 CPU 可执行的 FlashAttention 算子。首先,可以直接升级到 ONNX Runtime v1.16 及以上,以获得内置的 FlashAttention CPU 实现citeturn0search2;其次,演示了如何通过 ONNX Runtime 的 Custom Op 接口自定义实现并注…

3D高斯个人笔记

入门blog,参考视频1和参考视频2 球谐函数 通俗介绍或通俗介绍,3D高斯就是利用球谐函数(SH函数)作为基函数,去求取三维空间中不同点的颜色。 SH函数作为基函数通常是表示不同角度下的距离,即三维球面点半径&#xff…

电子处方模块开发避坑指南:从互联网医院系统源码实践出发

今天,笔者将结合互联网医院系统源码实践,从技术架构、合规策略、业务流程到性能优化,为大家梳理一份电子处方模块开发避坑指南,助力各类医疗平台高效落地电子处方功能。 一、为何电子处方模块是互联网医院的“重灾区”&#xff1…

【RabbitMQ | 第2篇】RabbitMQ 控制台实现消息路由 + 数据隔离

文章目录 同步调用和异步调用MQRabbitMQ1. RabbitMQ控制台实现交换机路由到队列1.1 创建队列1.2 将消息发送给交换机,是否会到达队列 2. RabbitMQ控制台实现数据隔离2.1 添加一个用户2.2 创建新的虚拟主机 同步调用和异步调用 同步调用是指完成一个功能&#xff0c…

kubernetes》》k8s》》Heml

Heml 下载地址 安装 curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash# helm 添加 仓库 # helm repo add 仓库名称 仓库地址 helm repo add stable http://mirror.azure.cn/kubernetes/charts/# 查看helm 仓库列表 helm repo list # 结…

【专题刷题】二分查找(一):深度解刨二分思想和二分模板

📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

乡村治理数字化平台:信息技术赋能乡村振兴的深度探索

在信息化技术飞速发展的背景下,数字化转型已成为推动社会进步和治理现代化的关键力量。乡村治理数字化平台,作为信息技术在乡村治理领域的深度应用,正逐步成为提升乡村治理效能、推动乡村振兴的重要工具。本文将深入探讨乡村治理数字化平台的…

PyQt6基础_QTabWidget

目录 代码 运行 官方文档 PySide6.QtWidgets.QTabWidget - Qt for Python 代码 class TempWidget(QWidget):def __init__(self):super().__init__()self.tabs QTabWidget()self.tabs.tabBarClicked.connect(self.tabs_tabBarClicked)widget_tab1 QWidget()widget_tab2…

springboot在eclipse里面运行 run as 是Java Application还是 Maven

在 Eclipse 里运行 Spring Boot 项目时,既可以选择以“Java Application”方式运行,也可以通过 Maven 命令来运行,下面为你详细介绍这两种方式及适用场景。 以“Java Application”方式运行 操作步骤 在项目中找到带有 SpringBootApplicat…

怎样记忆Precision、Recall?

首先,明确符号: TP(True Posive):标签为正,预测为正 TN(True Negative):标签为负,预测为负 FP(False Positive):标签为负,预测为正 FN(False Negative):标签为正&#xf…

【C语言】C语言动态内存管理

前言 在C语言编程中,内存管理一直是程序员需要重点关注的领域。动态内存管理更是如此,它不仅涉及到内存的灵活分配和释放,还隐藏着许多潜在的陷阱。本文将从动态内存分配的基础讲起,逐步深入到常见的错误、经典笔试题分析&#x…

expres路由模块化

Express 路由模块化是实际开发中非常重要的一部分,可以让你的项目结构更清晰、维护更方便。 🧱 一、为什么要模块化? 随着项目变大,如果所有路由都写在 app.js 中,会很乱。使用模块化后可以: 功能解耦&a…

C语言——填充矩阵

C语言——填充矩阵 一、问题描述二、格式要求1.输入形式2.输出形式3.样例 三、实验代码 一、问题描述 编程实现自动填充nn矩阵元素数值,填充规则为:从第一行最后一列矩阵元素开始按逆时针方向螺旋式填充数值1,2,…,nn…

零基础上手Python数据分析 (22)案例实战]之利用 Matplotlib Seaborn 进行电商销售数据可视化分析

写在前面 —— 图表为刃,洞察先行!综合运用 Pandas、Matplotlib 与 Seaborn,点亮数据价值 本篇通过一个完整的案例实战,体验如何将数据分析与数据可视化紧密结合,让冰冷的数据转化为生动、直观、富有洞察力的视觉故事! 案例目标: 本篇博客将延续我们在第 17 篇案例中…

Java开发经验总结

只要删繁、捋清脉络,才能掌握本质!只有创新才有价值,保持创新、保持学习! 计划:UNIAPPSPRINGBOOT学习、SPRINGBOOTVUE新版学习、页面展示学习、PYTHON。 ***********************************************************…

深入解析:RocketMQ、RabbitMQ和Kafka的区别与使用场景

互联网大厂Java求职者面试:RocketMQ、RabbitMQ和Kafka的深入解析 故事场景:严肃且专业的面试官与架构师程序员马架构 在一家知名的互联网大厂,Java求职者正在接受一场严格的面试。面试官是一位经验丰富的技术专家,他将通过多轮提…

使用vue2开发一个医疗预约挂号平台-前端静态网站项目练习

对于后端开发的我,最近一直在学习前端开发,除了要学习一些前端的基础知识外,肯定少不了一些前端项目练习,就通过前端的编程知识 就简单做一个医疗预约挂号前端静态页面。这个网站主要是使用了vue2 的相关技术实现的。 主要实现了这…

MongoDB(docker版)备份还原

docker启动MongoDB docker run -d -p 27017:27017 --name my-mongo -v /mongodb/db:/data/db mongo备份MongoDB 使用mongodump备份数据库时,默认会将备份数据保存在当前工作目录下的dump文件夹中。 docker容器中默认备份在当前工作目录,所以此处指定当…