js高级:四种创建对象的方式

本文详细探讨了JavaScript中四种常见的对象创建方式:直接创建、工厂模式、构造函数和原型创建。每种方式都有其优缺点,例如直接创建简单但无法量产,工厂模式适合快速创建相同类型对象但类型不明确,构造函数能确保类型但可能导致内存消耗。原型创建则能在量产的同时节约内存,并允许共享方法。通过理解这些模式,开发者可以选择最适合项目需求的创建策略。
摘要由CSDN通过智能技术生成

1.直接创建对象

优点:简单

缺点:无法进行相同对象量产

var a = {

        name:'张三',

        age:'18',

        height:'175',

        show:function(){

                console.log('直接创建对象')

        }

}

2.工厂模式:封装一个函数,每次调用 则创建一个对象

优点:快速进行相同类型对象的量产

缺点:无法明确,确定的类型

function creat (name,age,height) {

        var obj = {}

        obj.name = name;

        obj.age = age;

        obj.height = height;

        obj.show = function(){

                console.log('工厂模式')

        }

        return obj;

}

var a = creat('张三',18,175)

3.构造函数

优点:量产,又能检测对应的类型

缺点:相同的方法,没有开辟共同空间,导致内存消耗

function creat (name,age,height)  {

        this.name = name;

        this.age = age;

        this.height = height;

        this.show = function(){

                console.log('构造函数')

        }

}

var a = new creat('张三',18,175)

4.原型创建对象

优点:量产,可以判断类型,节约内存

function creat (name,age,height)  {

        this.name = name;

        this.age = age;

        this.height = height;

}

构造函数的原型(prototype)==实例化对象的原型(__proto__)

creat.prototype.show = function(){

        console.log('原型创建对象')

}

var a = new creat('张三',18,175)

**通过相同构造函数创建出来的对象 原型相同,改变一个原型,所有用此方法创建的对象原型都会改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值