原型、原型链
- 函数(或构造函数)身上才有prototype(prototype即为原型,原型就是一个对象)
- 其他通过构造函数实例化出来的对象(除了null、undefined,以为他俩既不是函数,也不是函数实例化出来的对象)身上都有proto(proto是隐式原型,隐式原型也是一个对象)
- 实例化对象的proto就是构造函数的prototype(===关系)
继承
原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承。
事件冒泡
事件冒泡就是,事件从DOM树的底部逐层向上传播,直至传递到DOM的根节点。
可以冒泡的
beforeinput | click | compositionstart | compositionupdate | compositionend |
---|---|---|---|---|
dblclikck | focusin | focusout | inputkeydown | keyup |
mousedown | mousemove | mouseout | mouseover | mouseup |
scroll | select | wheel |
不能冒泡的
abort 音频终止加载 |
resize 调整窗口大小 |
error 加载失败时 |
load 已经加载时 |
unload 正在被卸载时 |
---|---|---|---|---|
mouseenter 鼠标移入 |
mouseleave 鼠标移出 |
blur 失去焦点 |
focus 获得焦点 |
取消事件冒泡
- 使用e.stopPropagation()
如果浏览器版本较低(IE6-8)中,使用window.event.cancelBubble = true。 - 使用e.preventDefault()
这是阻止默认事件的方法;但还是会发生冒泡。 - 使用 return false
这既可以阻止事件冒泡也可以阻止默认事件。