js 對象 分為:本地對象、內置對象、宿主對象
本地對象:String、Number、Date 、Object、Array、Boolean、RegExp、Error(非靜態(tài)對象)
內置對象:Global、Math (靜態(tài)對象)
宿主對象(由瀏覽器提供的對象)
對象主要說三種:new Object()、function、json
json:適合簡單的對象,用一次的那種(單體對象)
object:對象 ,是定義對象,在對象上在定義方法、屬性、靜態(tài)方法、靜態(tài)屬性
function: 適合復雜的對象,在方法里定義自己的方法、屬性,也可以在原型上定義方法、屬性。
注意:在原型上定義的方法、屬性 是公共的。
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]; 重新賦值,這個實際上是p1對象自己的屬性,和原型沒有關系了
p2.m;//12
繼承
因為prototype 是應用類型,所以繼承要注意不能直接給子類的prototype
eg: function person2(){
person.call(this);//person2繼承了person類的屬性和方法(不包括原型的屬性、方法) };
for(var n in person.prototype){
person2.prototype[n]=person.prototype[n]; } |
|
來自: yan的圖書41 > 《javascript》