js創(chuàng)建對(duì)象的兩種方法

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)建模板,一勞永逸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容