WHAT - Typescript 中 Window | Document | HTMLElement | EventTarget

In the context of web development, Window, Document, HTMLElement, and EventTarget are important interfaces provided by the browser's DOM (Document Object Model) and event handling systems. Each of these interfaces serves a distinct purpose and has its own role in interacting with web pages.

Here's a detailed explanation of each:

1. Window

Window is the global object in a web browser that represents the browser window or tab. It provides access to various properties and methods that are fundamental to interacting with the browser environment.

Key Features:
  • Global Scope : The Window object is the global object in the browser, which means that all global variables and functions are properties of the Window object.
  • Properties : Includes properties like document (to access the Document object), location (to get or set the current URL), and localStorage (for local storage).
  • Methods : Includes methods like alert(), confirm(), setTimeout(), open(), and close().
Example:
javascript 复制代码
console.log(window.innerWidth); // Get the width of the browser window
window.alert("Hello, World!"); // Show an alert dialog

2. Document

Document represents the web page loaded in the browser window. It provides access to the contents of the web page and is the main entry point for manipulating the DOM.

Key Features:
  • DOM Access : Provides methods and properties to access and manipulate elements within the web page. For example, getElementById(), querySelector(), and createElement().
  • Properties : Includes properties like body (the <body> element), title (the title of the document), and cookie (to get or set cookies).
  • Events : The Document object can also handle events such as DOMContentLoaded.
Example:
javascript 复制代码
console.log(document.title); // Get the title of the document
document.getElementById("myElement").innerText = "Hello"; // Modify an element's text

3. HTMLElement

HTMLElement is an interface representing an element in an HTML document. It extends the Element interface with properties and methods specific to HTML elements.

Key Features:
  • Properties : Includes properties like innerHTML, className, id, style, and attributes.
  • Methods : Provides methods such as getAttribute(), setAttribute(), appendChild(), and removeChild().
  • Events : HTML elements can have event handlers like onclick, onmouseover, etc.
Example:
javascript 复制代码
const element = document.getElementById("myElement");
element.innerHTML = "New Content"; // Change the content of the element
element.style.color = "blue"; // Change the text color of the element

4. EventTarget

EventTarget is an interface implemented by objects that can receive and handle events. It is the base interface for all objects that can participate in event handling, such as Window, Document, and HTMLElement.

Key Features:
  • Event Handling : Provides methods for adding and removing event listeners, such as addEventListener() and removeEventListener().
  • Event Propagation: Allows objects to be targets of events and participate in the event propagation process (capturing, target, and bubbling phases).
Example:
javascript 复制代码
const button = document.getElementById("myButton");
button.addEventListener("click", function(event) {
  console.log("Button clicked!");
});

Relationships and Hierarchies

  • Window → Represents the browser window and contains the Document object.
  • Document → Represents the HTML document and contains HTMLElement objects.
  • HTMLElement → Represents HTML elements and extends the Element interface.
  • EventTarget → Base interface for objects that handle events. Both Document and HTMLElement implement EventTarget.

Summary

  • Window: Represents the browser window or tab, providing access to the global scope and browser-related functions.
  • Document: Represents the web page loaded in the browser, allowing manipulation of the DOM.
  • HTMLElement: Represents individual HTML elements within the document, providing properties and methods for element-specific manipulations.
  • EventTarget : The base interface for objects that can handle events, including Window, Document, and HTMLElement.

Understanding these interfaces helps in effectively working with the DOM and handling events in web development.

相关推荐
不正经学生2 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技3 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
ℋᙚᵐⁱᒻᵉ鲸落5 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
恋恋西风5 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx5 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_6 小时前
C++(22)——类型转换和IO流
开发语言·c++
默_笙6 小时前
🎃 前端学了 Next.js,后端该学啥?NestJS 就是 Node 版的蜜雪冰城
前端·javascript
小范同学_6 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu7 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦7 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信