个人平时总结
Document 对象
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
提$(document)是一个选择器,选中的是整个html所有元素的集合示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。
$(document)是一个选择器,选中的是整个html所有元素的集合
$(this)指的是当前的对象,
$(window)和$(document)获取到的对象不同。
1、Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算.2、Document 对象是 Window 对象的一部分,每个载入浏览器的 HTML 文档都会成为 Document 对象.
Element
Element是非常通用的基类,所有 对象下的对象都继承它. 这个接口描述了所有相同种类的元素所普遍具有的方法和属性。 这些继承自Element并且增加了一些额外功能的接口描述了具体的行为. 例如, 接口是所有HTML元素的基础接口, 而 接口是所有SVG元素的基本接口.
这个属性比较偏Node方向。
js事件冒泡机制,何时有用
就是你说的, 如果父div有, div里的span也有, 默认你点span的时候父div的也会被激发, 如果你不想激发父div的click事件, 就在span的click事件中stopPropagation(), 就是这样
所谓事件冒泡是:当DOM结构中(啥,你不懂DOM,其实就是那些html元素结构,通俗的说就是html网页),一个子级元素上有一个事件,那么这个事件在其父级上也是有效的。不管这个事件父级定义或者没有定,反过来也是一样,父级定了事件,那么子级也是有效的。
当父级利用事件冒泡来处理逻辑业务的时候,此时在js界有一个术语,叫事件委托,即委托父级干一些在子级上的动作,比如点击,本来是子级要有的动作,可是现在好了,不用在子级上写函数了,如for循环之类挺麻烦的。你可以只在父级上写个点击事件,那么子级上都有了点击动作。可能有些同学会问这是为啥,这没什么原因,这是DOM的一个特性。就好比,一个人生下来就会吃一样,是一种本能