自定義類:
function 類名(形參1,形參2){
this.屬性1=形參1;
this.屬性2=形參2;
this.屬性3=自定義值;
this.函數(shù)名=function(形參3,形參4){執(zhí)行體}
……
}
//創(chuàng)建類的實(shí)例
var 對(duì)象名=new 類名();
注意:
1.js中的類定義的屬性和函數(shù)為創(chuàng)建的子對(duì)象共享
除了共享的外凄贩,在js中每個(gè)對(duì)象可以繼續(xù)自定義屬性和函數(shù)
2.在js中沒(méi)有繼承的概念育灸,但是可以通過(guò)prototype屬性變相的繼承
自定義空對(duì)象:
創(chuàng)建方式1:var 對(duì)象名=new Object();
創(chuàng)建方式2(開(kāi)發(fā)中使用):var 對(duì)象名={};
代碼示例:
1.自定義類
//類TestA
function TestA(){
? ? ? ? this.name="li";
? ? ? ? this.age="20";
? ? ? ? this.fav="play";
? ? ? ? this.methodA=function(){
? ? ? ? ? ? ? ? alert("I am TestA")
? ? ? ? }
}
//類TestB
function TestB(){
? ? ? ? this.name="fu";
? ? ? ? this.age="22";
? ? ? ? this.favor="learn";
? ? ? ? this.methodB=function(){
? ? ? ? ? ? ? ? alert("I am TestB");
? ? ? ? }
}
//通過(guò)prototype屬性實(shí)現(xiàn)了相互調(diào)用恶座,而非繼承
TestA.prototype=new TestB();
//js的創(chuàng)建對(duì)象方法
var ta=new TestA();
var tb=new TestB();
//在js中每個(gè)對(duì)象可以繼續(xù)自定義屬性和函數(shù)
ta.sex="female";
ta.methodA();
ta.methodB();
2.自定義空對(duì)象
/*方式1*/
var obj=new Object();
obj.name="liu";
obj.age="23";
obj.test=function(){
? ? ? ? alert("this is way1");
}
alert(obj.name);
obj.test();
/*方式2*/
var obj={};
obj.name="fu";
obj.age="22";
obj.test=function(){
? ? ? ? alert("way2");
}
alert(obj.name);
obj.test();