一、原型,原型链
二、继承的方式(子类继承父类)
原型链继承(子类构造函数的原型=父类构造函数的实例)
构造函数继承(将父类构造函数引入到子类构造函数里)
组合式继承(原型链继承+构造函数继承)
原型链继承
让新实例的原型等于父类的实例
function P(){
}
function Person(){
}
p.prototype = new Person()
构造函数继承(call和apply)
将父类构造函数引入到子类构造函数
function P(){
Person.call(this,name)
}
function Person(){
}
p.prototype = new Person()
组合式继承
原型链继承+构造函数继承
function P(name){
Person.call(this,name)
}
function Person(){
}
p.prototype = new Person()
三、重排和重绘
重绘
重绘发生在元素的可见的外观被改变,但并没有影响到布局的时候
重排
添加或删除可见的DOM元素。
元素位置改变。
元素的尺寸改变(包括:内外边距、边框厚度、宽度、高度等属性的改变)。
内容改变。
浏览器窗口尺寸改变。
事件捕捉和事件冒泡
IE的事件流是事件冒泡流(event bubbling),而Netscape的事件流是事件捕获流(event capturing)
事件冒泡:事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点
事件捕捉:事件由不大具体的元素接受,然后传播到最具体的元素
函数科里化
是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。