前端 JavaScript 基础面试题, 什么是 DOM 和 BOM?
前端 JavaScript 基础面试题, 什么是 DOM 和 BOM?
QA
Step 1
Q:: 什么是 DOM?
A:: DOM(文档对象模型)是 HTML 和 XML 文档的编程接口。它提供了一种结构化表示文档的方法,并定义了如何访问和操作文档的结构和内容。DOM 表示文档的结构为一棵树,每个节点都表示文档的一部分,例如元素、属性和文本。通过 DOM,开发者可以动态地创建、删除或修改文档的内容和结构。
Step 2
Q:: 什么是 BOM?
A:: BOM(浏览器对象模型)是指浏览器所提供的对象,使开发者可以控制浏览器显示的页面之外的部分。例如,BOM 包含窗口对象、导航对象、历史对象、屏幕对象和位置对象。通过 BOM,开发者可以操作浏览器窗口、导航历史记录、屏幕分辨率等。
Step 3
Q:: 如何使用 JavaScript 操作 DOM?
A:: 使用 JavaScript 操作 DOM 可以通过以下几种方式:
1.
使用 document.getElementById()
方法根据 ID 获取元素。
2.
使用 document.querySelector()
或 document.querySelectorAll()
方法根据 CSS 选择器获取元素。
3.
使用 element.innerHTML
或 element.textContent
修改元素内容。
4.
使用 element.setAttribute()
和 element.getAttribute()
操作元素属性。
5.
使用 element.appendChild()
或 element.removeChild()
添加或删除子节点。
Step 4
Q:: 什么是事件委托?
A:: 事件委托是一种利用事件冒泡机制的技术,即将事件监听器添加到父元素,而不是每个子元素。这样,当子元素触发事件时,事件会冒泡到父元素,父元素的事件监听器可以处理该事件。这种方式减少了需要添加的事件监听器数量,提高了性能。
Step 5
Q:: 如何处理跨域请求?
A:: 处理跨域请求的方法有多种,包括:
1.
使用 CORS(跨域资源共享),服务器设置正确的 CORS 响应头。
2.
使用 JSONP(JSON with Padding),通过 script 标签进行跨域请求。
3.
使用代理服务器,将跨域请求发送到代理服务器,再由代理服务器转发请求。
4. 使用 HTML5
的 postMessage API,在不同域的窗口之间发送消息。