原型、原型链

  1. 函数(或构造函数)身上才有prototype(prototype即为原型,原型就是一个对象)
  2. 其他通过构造函数实例化出来的对象(除了null、undefined,以为他俩既不是函数,也不是函数实例化出来的对象)身上都有protoproto是隐式原型,隐式原型也是一个对象)
  3. 实例化对象的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
获得焦点

取消事件冒泡

  1. 使用e.stopPropagation()
    如果浏览器版本较低(IE6-8)中,使用window.event.cancelBubble = true。
  2. 使用e.preventDefault()
    这是阻止默认事件的方法;但还是会发生冒泡。
  3. 使用 return false
    这既可以阻止事件冒泡也可以阻止默认事件。