javascript 集成 類抄襲?原型

類抄襲集成javascript

function father(){

    var instance = this;
    instance.name = this.name;
    instance.getName = function(){
	return this.name;
    }
    
    return  instance ;
}

function subClass (name){
 	father.call(subClass);
 
}


function classFactroy (name) {
  return new subClass(name);
}

類原型繼承java

function father(){};
father.prototype.getName = function(){
	return this.name;
};
function subClass(name){
	this.name = name;
}
subClass.prototype = new father();

第一種方法的的調用屬性無須回溯原型鏈,效率高,可是每一個實例本地都是一份獨立屬性拷貝,浪費內存空間;第二種方法的都是公共的指向原型鏈的屬性,本地沒有內存開銷,可是方法調用須要回溯原型鏈,效率低下;根據不一樣的狀況須要分別對待;this

第一種方法沒有涉及到任何的原型鏈維護,沒法用instanceof類型判斷;prototype

相關文章
相關標籤/搜索