1.基于对象的继承
用Object.create()方法基于原有对象创建一个新对象,相当于把创建的新对象的原型设为原有对象。
var person={
name:"Rizy";
sayName:function(){
alert("this.name");
}
};
var newPerson=Object.create(person);
newPerson.sayName();//"Rizy"
2.基于类型的继承
直接从一个已经存在的对象继承。定义一个类型可以创建多个实例对象。
function Person(name){
this.name;
}
function myPerson(name){
person.call(this,name)
}
myPerson.prototype=new Person();
3.门面模式
门面是一个新对象,其背后有一个已经存在的对象在工作。门面也叫包装器,用不同的接口来包装已存在的对象。
function DOMWrapper(element){
this.element=element;
}
DOMWrapper.prototype.addClass=function (className) {
element.className+="className";
};
DOMWrapper.prototype.remove = function() {
this.element.parentNode.removeChild(this.element);
};
var wrapper=new DOMWrapper(document.getElementById("aa"));
wrapper.addClass('bb');
wrapper.remove();