问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一文秒懂JavaScript中对象的7种创建方式

发布网友 发布时间:2024-10-05 12:05

我来回答

1个回答

热心网友 时间:2024-10-23 16:11

工厂模式:通过工厂函数,根据传入参数创建一个person对象。多次调用此函数会返回包含相同属性与方法的对象。但此模式无法识别对象类型。

构造函数模式:使用new关键字创建对象,构造函数首字母大写以示区分。与工厂模式不同之处在于:无需显示创建对象,属性值和方法直接赋给this,无需return语句,可使用instanceof检测对象类型。new关键字创建对象分为四步。

构造函数模式的不足:每个方法都在实例上重新创建,不同实例的同名方法并非相同。

原型模式:将属性与方法写在prototype中,实例共享。新增方法会覆盖prototype上的同名方法。代码优先查找实例属性,然后查找prototype。使用delete操作符可删除实例属性。原型链动态性意味着对原型对象的修改会立即反映在实例上。但若重写整个原型对象,切断了构造函数与原型的联系,原先的实例仍引用原始原型。原型模式缺点:省略参数传递,导致所有实例共用相同属性值。共享属性与方法适用于方法,但对包含引用类型值的属性有负面影响。

构造函数模式与原型模式结合:用构造函数定义实例属性,原型定义共享属性与方法。每个实例有自己副本的实例属性,共享对方法的引用,节省内存,支持参数传递。

动态原型模式:构造函数仅初始化原型所需方法,以避免重复代码,仅在初次调用时执行。

寄生构造函数模式:创建函数封装对象创建代码并返回对象,除了使用new操作符,与工厂模式相似。适用于特殊情况下为对象创建构造函数。如创建具有额外方法的特殊数组。返回的对象与构造函数或原型属性无关,不能通过instanceof确定类型。

稳妥构造函数模式:创建的稳妥对象除了使用speakName方法外无法访问name值。适合在安全环境中使用,如ADsafe和Caja提供环境。此类对象与构造函数无关联,不能通过instanceof确定类型。

每种模式有其特点与适用场景,理解它们之间的区别能更灵活地在实际编程中运用。注意在适当情况下选择合适模式,避免使用可能导致问题的模式。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 小王采用银行按揭贷款的方式买了售价为30万元的新房,他首付现金10万元... 合规管理合规风险 昨天游完泳睡了一觉之后头疼到现在了好一点,没发烧,现在一低头就疼,不... 涉嫌盗窃罪取保候审多久 求网友帮助,不发烧头疼是怎么回事,怎么办 涉嫌盗窃罪可以申请取保候审吗? ...提示打不开该网页因为无法与服务器建立安全的链接 钓鱼新手基础知识攻略 如何选择合适的钓鱼用品 新手如何钓鱼要哪些装备 领头羊比喻的是什么人 我老公是警察用他的工作证可以贷款吗可以贷多 老公被公安带走了,手机,银行卡,现在该还信用卡了,不知道卡号,怎么还... 【Java基础】Java对象创建的几种方式 不吃晚饭=减肥吗 ...师傅用5000克徒弟用4000克师傅用了这袋面粉的几 嗜铬细胞瘤是怎么回事 肾上腺嗜铬细胞瘤的症状 ...加碘食盐.高钙牛奶.富硒茶叶,这里的铁.碘.钙.硒均指( )A.元素B... 日常饮食中蕴含着丰富的化学知识.(1)北方人常说“好吃不过饺子”.制 ... JavaScript 设计模式(一):单例模式 猪大肠用高压锅煮需要多长时间? 湖北2024年中级会计报名时间 报名湖北2024年中级会计资格需要信息采集 厕所水箱里的水溅到羽绒服上为什么干了以后有水渍呢? 羽绒服上碰点水就有水痕 怎么可以永久去除掉啊 康佳LED47IS11PD3D电视支持哪种3D片源?送的眼镜没有什么红色 蓝色的 康佳网络电视LED47IS11PD与路由器是无线网卡连接,售后人员怎么弄都没... 嗜铬细胞瘤手术属于哪个科室 康佳LED47IS11PD怎样设置无线设置? 肾上腺嗜铬细胞瘤手术 我刚买了个康佳LED47IS11PD!苏宁的导购说这个是带双系统的!我在电视上... ...没有内置网卡是怎么回事,型号是LED47IS11PD,物料号是39036 艾迪芬奇的记忆买哪个版本 艾迪芬奇的记忆,5年前的游戏到底讲了什么?(一) 《艾迪芬奇的记忆》中文全剧情详细解析介绍_《艾迪芬奇的记忆》中 ... 协会捐赠 能税前抵扣吗 结婚后能回娘家过年吗出嫁的女儿回娘家过年行吗 红枣泡水喝有什么好处 红枣泡水的功效与作用 碧水绿河,净丽河道从我做起的演讲稿怎么写