js物件繼承方式不止一種,而且是模仿實現的繼承。
1、物件冒充方式:
例子:function classa(color)
classa.prototype.color = "red";
classa.prototype.showcolor = function(){
alert(this.color);
classb.prototype = new classa();//書上說是為了把classa的物件的所有屬性和方法賦予classb的prototype屬性。為何不用classa.prototype = classb.prototype呢,不明白,求指教。
var b = new classb();
b.color = 'blue';
b.showcolor(); //結果為blue;
這種方式下b instanceof classa 的結果為true。
3、使用混合方式
function classa(color){
this.color = color;
this.name = name;
classa.prototype.showcolor = function(){
alert(this.color);
function classb(color,name){
this.temp = classa(); //使用物件冒充的方式繼承classa的屬性
this.temp(color);
this. name = name;
classb.prototype = new classa(); //使用原型方式繼承classa的方法
classb.prototype.showname() = function(){ //classb自己的方法
alert(this.name);
var b = new classb('red','tom');
b.showcolor(); //結果為'red';
b.showname(); //結果為'tom';
這種方式下b instanceof classa的結果仍為true。
js物件繼承
自有屬性 own property 物件本身具有的屬性 繼承屬性 從原型物件 prototype object 繼承而來 物件的查詢過程 查詢過程中,查詢物件o的屬性x,如果o的屬性不存在x,則對o的原型物件進行查詢,使原型鏈查詢。屬性賦值操作過程 屬性賦值過程中,先檢查原型鏈,以此判斷是否允許賦值...
JS物件 繼承
js物件定義的方法 方法一 通過var object 物件字面量 1 可以叫物件直接量來自定義乙個物件。物件自面量是乙個表示式,這個表示式的每次運算都建立並初始化乙個新物件 2 還可以換行寫,每義定乙個屬性名和值,用逗號分開,最後乙個不加逗號,加了會被忽略,但在ie中會報錯,最好不要加 方法二 通過...
js中物件的繼承
js中物件的繼承 1.物件冒充 js中沒有訪問修飾符的概念 可以實現多繼承 但會出現干擾,如果父類a和父類b中都定義了同名的屬性或方法,後面的繼承就會把前面的給替換掉了 不推薦 function parent username function child username,password var...