js 對(duì)象 分為:本地對(duì)象、內(nèi)置對(duì)象、宿主對(duì)象
本地對(duì)象:String、Number、Date 、Object、Array、Boolean、RegExp、Error(非靜態(tài)對(duì)象)
內(nèi)置對(duì)象:Global、Math (靜態(tài)對(duì)象)
宿主對(duì)象(由瀏覽器提供的對(duì)象)
對(duì)象主要說(shuō)三種:new Object()、function、json
json:適合簡(jiǎn)單的對(duì)象,用一次的那種(單體對(duì)象)
object:對(duì)象 ,是定義對(duì)象,在對(duì)象上在定義方法、屬性、靜態(tài)方法、靜態(tài)屬性
function: 適合復(fù)雜的對(duì)象,在方法里定義自己的方法、屬性,也可以在原型上定義方法、屬性。
注意:在原型上定義的方法、屬性 是公共的。
eg: function person(){
this.name='zhang'; this.age='5';
};
person.prototype.m=[1,2];
var p1=new person();
p1.m.push(3);
var p2=new person();
p2.m ;//1,2,3
除非是p1.m=[3,4]; 重新賦值,這個(gè)實(shí)際上是p1對(duì)象自己的屬性,和原型沒有關(guān)系了
p2.m;//12
繼承
因?yàn)閜rototype 是應(yīng)用類型,所以繼承要注意不能直接給子類的prototype
eg: function person2(){
person.call(this);//person2繼承了person類的屬性和方法(不包括原型的屬性、方法) };
for(var n in person.prototype){
person2.prototype[n]=person.prototype[n]; } |
|
來(lái)自: yan的圖書41 > 《javascript》