1.原型链继承
function Elem(id){
this.elem = document.getElementById(id)
}
Elem.prototype.html=function(val){
var elem = this.elem;
if(val){
elem.innerHTML=val;
return this// 链式操作
}else{
return elem.innerHTML
}
}
Elem.prototype.on=function(type,fn){
var elem= this.elem;
elem.addEventListener(type,fn)
}
2.new对象的过程
- 创建一个新对象,继承自foo.prototype
- this指向新对象
- 执行代码,赋值等运算
- 返回this
- 如果构造函数返回一个对象,那么这个对象会取代整个new出来的结果。那么这个对象会取代整个new出来的结果。如果构造函数没有返回对象,那么new出来的结果为步骤1创建的对象