js中物件繼承

2021-07-26 19:28:17 字數 1790 閱讀 3730

一,js中物件繼承

js中有三種繼承方式

1.js原型(prototype)實現繼承

複製**

**如下:

2.建構函式實現繼承

複製**

**如下: 

複製**

**如下:  

js手冊中對call的解釋:

複製**

**如下:

call 方法  

呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。  

call([thisobj[,arg1[, arg2[,   [,.argn]]]]])  

引數  

thisobj  

可選項。將被用作當前物件的物件。  

arg1, arg2,  , argn  

可選項。將被傳遞方法引數序列。  

說明  

call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。  

如果沒有提供 thisobj 引數,那麼 global 物件被用作 thisobj。

複製**

**如下:

function person(name,age);  

}  function print()  

}  alert(msg.join(" "));  

};  

}  function student(name,age,grade,school)  

var p1=new person("卜開化",80);  

p1.sayhello();  

var s1=new student("白雲飛",40,9,"嶽麓書院");  

s1.show();  

s1.sayhello();  

alert(s1.funcname);

我們先從math.max()函式說起,math.max後面可以接任意個引數,最後返回所有引數中的最大值。

比如複製**

**如下:

alert(math.max(5,8));   //8   

alert(math.max(5,7,9,3,1,6));   //9   

//但是在很多情況下,我們需要找出陣列中最大的元素。   

var arr=[5,7,9,1];  

//alert(math.max(arr));    // 這樣卻是不行的。nan   

//要這樣寫   

function getmax(arr)  

return ret;  

}  alert(getmax(arr)); //9   

function getmax2(arr)  

alert(getmax2(arr)); //9   

//兩段**達到了同樣的目的,但是getmax2卻優雅,高效,簡潔得多。   

//再比如陣列的push方法。   

var arr1=[1,3,4];  

var arr2=[3,4,5];  

//如果我們要把 arr2展開,然後乙個乙個追加到arr1中去,最後讓arr1=[1,3,4,3,4,5]   

顯然是不行的。 因為這樣做會得到[1,3,4,[3,4,5]]   

//我們只能用乙個迴圈去乙個乙個的push(當然也可以用arr1.concat(arr2),但是concat方法並不改變arr1本身)   

var arrlen=arr2.length;  

for(var i=0;i

js中物件的繼承

js中物件的繼承 1.物件冒充 js中沒有訪問修飾符的概念 可以實現多繼承 但會出現干擾,如果父類a和父類b中都定義了同名的屬性或方法,後面的繼承就會把前面的給替換掉了 不推薦 function parent username function child username,password var...

js物件繼承

自有屬性 own property 物件本身具有的屬性 繼承屬性 從原型物件 prototype object 繼承而來 物件的查詢過程 查詢過程中,查詢物件o的屬性x,如果o的屬性不存在x,則對o的原型物件進行查詢,使原型鏈查詢。屬性賦值操作過程 屬性賦值過程中,先檢查原型鏈,以此判斷是否允許賦值...

JS物件 繼承

js物件定義的方法 方法一 通過var object 物件字面量 1 可以叫物件直接量來自定義乙個物件。物件自面量是乙個表示式,這個表示式的每次運算都建立並初始化乙個新物件 2 還可以換行寫,每義定乙個屬性名和值,用逗號分開,最後乙個不加逗號,加了會被忽略,但在ie中會報錯,最好不要加 方法二 通過...