1、BOM
BOM是浏览器对象模型,它是将浏览器作为对象来对待,主要定义了处理网页的接口和方法;
BOM核心是windows。
2、DOM
DOM是文档对象模型,他是主要把文档当作一个对象来处理,这个对象定义了处理网页页面的内容和接口。
要实现也动态页面交互效果,bom操作远远不够,需要依靠DOM操作html
3、包含属性
BOM: location、history、document
DOM:document
注:DOM的最根本的对象是BOM的window对象的子对象
4、DOM的基本操作
5、DOM0级与DOM2级的区别
DOM0级为某个dom元素绑定多个事件,只有最后一个事件有效。(onclick)
DOM2级为单个元素绑定事件,每个事件都能被触发。(AddEventListener)
6、textContent、innerText、innerHtml、value的区别
textContent用来获取和设置文本内容,与innerText的差别是:textContent获取到的是包括元素中的style标签和script标签的内容。
innerHTML可以获取和设置html代码
value获取的是表单中的元素
7、什么叫Dom事件流?
事件发生时会在元素节点之间按照特定的顺序传播,整个过程分为捕获阶段,目标阶段和冒泡阶段,这个传播过程叫Dom事件流。
事件冒泡:从事业源逐渐向上传播到Dom最顶层节点的过程
事件捕获:从Dom最上层节点逐渐向下传播到事件源的过程
addEventListener用于事件监听,共有三个数据。分别是触发事件、事件处理程序函数以及一个布尔值。第三个参数默认是false(冒泡),true(捕获)
IE只支持事件冒泡
8、事件代理
事件委托是指不在子节点中单独设置事件监听器,而事件监听在父节点上,利用冒泡原理使每一个子节点都能触发
事件委托的优点:只操作一次Dom,提高了程序的性能。