js創(chuàng)建對(duì)象的兩種方法
先創(chuàng)建對(duì)象,然后添加屬性和方法
數(shù)組字面量法
<script>
var hotel={}
hotel.name='Quay';
hotel.rooms=40;
hotel.booked=25;
hotel.checkAvilablity=function(){
return this.rooms-this.booked
}
alert(hotel.name)
</script>
對(duì)象構(gòu)造函數(shù)法
<script>
var hotel=new Object()
hotel.name='Quay';
hotel.rooms=40;
hotel.booked=25;
hotel.checkAvilablity=function(){
return this.rooms-this.booked
}
alert(hotel.name)
</script>
對(duì)比
這種后添加屬性的方法的情況下,對(duì)象構(gòu)造函數(shù)法并無(wú)優(yōu)勢(shì)。
創(chuàng)建對(duì)象的同時(shí)創(chuàng)建屬性和方法
字面量法
<script>
var hotel={
name:'Quay',
rooms:40,
booked:25,
checkAvilablity:function(){
return this.rooms-this.booked
}
}
alert(hotel.name)
</script>
注意逗號(hào)
構(gòu)造函數(shù)法
<script>
function Hotel(name,rooms,booked){
this.name=name;
this.rooms=rooms;
this.booked=booked;
this.checkAvilablity=function(){
return this.rooms-this.booked;
}
}
var quayhotel=new Hotel('Quay',40,25);
alert(quayhotel.name);
var parkhotel =new Hotel('Park',120,77);
alert(parkhotel.name);
</script>
對(duì)比
在這種同時(shí)創(chuàng)建情形以及需要?jiǎng)?chuàng)建多個(gè)類似對(duì)象時(shí),構(gòu)造函數(shù)法的優(yōu)勢(shì)就體現(xiàn)出來(lái)了。
總結(jié)
字面量法簡(jiǎn)單,但是創(chuàng)建多個(gè)對(duì)象時(shí)就麻煩了~而構(gòu)造函數(shù)法可以創(chuàng)建模板,一勞永逸。