js创建对象的两种方法

js创建对象的两种方法

先创建对象,然后添加属性和方法

数组字面量法

<script>
    var hotel={}
    hotel.name='Quay';
    hotel.rooms=40;
    hotel.booked=25;
    hotel.checkAvilablity=function(){
        return this.rooms-this.booked
    }
alert(hotel.name)
</script>

对象构造函数法

<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>

对比

这种后添加属性的方法的情况下,对象构造函数法并无优势。

创建对象的同时创建属性和方法

字面量法

<script>
    var hotel={
        name:'Quay',
        rooms:40,
        booked:25,
        checkAvilablity:function(){
        return this.rooms-this.booked
    }
    }
alert(hotel.name)
</script>

注意逗号

构造函数法

<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>

对比

在这种同时创建情形以及需要创建多个类似对象时,构造函数法的优势就体现出来了。

总结

字面量法简单,但是创建多个对象时就麻烦了~而构造函数法可以创建模板,一劳永逸。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容