js中 DOM 和 BOM是什么【面试题详解】

今天爱分享给大家带来js中 DOM 和 BOM是什么【面试题详解】,希望能够帮助到大家。
ECMAScript (核心) : 描述了 JS 的语法 和 基本对象。
文档对象模型 (DOM): 处理 网页内容 的方法和接口。
W3C 的标准( 所有浏览器公共遵守的标准 )
浏览器对象模型 (BOM): 与 浏览器交互 的方法和接口。
各个浏览器厂商根据 DOM 在各自浏览器上的实现( 不同厂商之间实现存在差异 )

DOM 的 API :

节点创建型 API:
document.createElement(),document.createTextNode(),parent.cloneNode(true)
document.createDocumentFragment() 创建文档片段,解决大量添加节点造成的回流问题

页面修改型 API:
parent.appendChild(child),parent.removeChild(child)
parent.replcaeChild(newChild,oldChild)
parent.insertBefore(newNode, referenceNode)

节点查询型 API:
document.getElementById()
document.getElementsByTagName() 返回即时的 HTMLCollection 类型
document.getElementsByName() 根据指定的 name 属性获取元素,返回即时的 NodeList
document.getElementsByClassName() 返回即时的 HTMLCollection
document.querySelector() 获取匹配到的第一个元素,采用的是深度优先搜索
docuemnt.querySelectorAll() 返回非即时的 NodeList,也就是说结果不会随着文档树的变化而变化

节点关系型 API:
父关系型:
node.parentNode()
兄弟关系型:
node.previouSibling() 返回节点的前一个节点(包括元素节点,文本节点,注释节点)
node.previousElementSibling() 返回前一个元素节点
node.nextSibling() 返回下一个节点
node.nextElementSibling() 返回下一个元素节点

子关系型
parent.childNodes() 返回一个即时的NodeList,包括了文本节点和注释节点
parent.children() 一个即时的HTMLCollection,子节点都是Element
parent.firsrtNode(),parent.lastNode(),hasChildNodes()

元素属性型 API:
element.setAttribute(“name”,“value”) 为元素添加属性
element.getAtrribute(“name”) 获取元素的属性

元素样式型 API:
window.getComputedStyle(element) 返回一个CSSStyleDeclaration,可以从中访问元素的任意样式属性。
element.getBoundingClientRect() 返回一个DOMRect对象,里面** 包括了元素相对于可视区的位置 top,left**,以及元素的大小,单位为纯数字。可用于判断某元素是否出现在了可视区域

BOM的 API :

location对象
.href、.search、.hash、.port、.hostname、pathname
history对象
.go(n)(前进或后退指定的页面数)、history.back(后退一页)、.forward(前进一页)
navigator对象
navigator:包含了用户浏览器的信息
navigator.userAgent:返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)
navigator.cookieEnabled:返回浏览器是否支持(启用) cookie
window对象方法:

alert() — 显示带有一段消息和一个确认按钮的警告弹出框。
confirm() — 显示带有一段消息以及确认按钮和取消按钮的警告弹出框。
prompt() — 显示带有一段消息以及可提示用户输入的对话框和确认,取消的警告弹出框。
open() — 打开一个新的浏览器窗口或查找一个已命名的窗口。
close() — 关闭浏览器窗口。
setInterval() — 按照指定的周期(以毫秒计)来调用函数或计算表达式。每隔多长时间执行一下这个函数
clearInterval() — 取消由 setInterval() 设置的 timeout。
setTimeout() — 在指定的毫秒数后调用函数或计算表达式。
clearTimeout() — 取消由 setTimeout() 方法设置的 timeout。
scrollTo() — 把内容滚动到指定的坐标。

人已赞赏
前端

js中缓存 SessionStorage,LocalStorage,Cookie分别是什么【面试题详解】

2020-12-29 17:51:30

前端

js中延迟加载的方式有哪些?【面试题详解】

2020-12-29 17:53:11

'); })();