三,对象高级

前面一篇讲解函数里面的内容:原型与原型链,执行上下文,变量提升和函数提升,作用域与作用域链及闭包,可以通过https://blog.csdn.net/qq_33345511/article/details/106140706访问,接下来聊一聊对象相关的内容,本文主要讲解对象创建模式及其使用场景和存在的缺点以及继承模式。本文相对来说比较容易理解。

对象创建模式:
一,Object构造函数模式
方法:先创建空的Object对象,再动态的添加属性和方法;
适用场景:开始是不确定对象内部数据(如年龄需要通过计算)
缺点:语句太多

二,对象字面量模式
方法:使用{}创建对象,同时指定属性和方法
适用场景:开始时对象内部数据是确定的(只要一个对象时比较适合使用)
缺点:如果创建多个对象,有大量重复代码

三,工厂方法
方法:通过工厂函数动态创建对象并返回,
适用场景:需要创建多个对象
缺点:对象没有具体的类型都是Object类型,无法区分多种不同类型的对象

四,构造函数模式:
方法:自定义构造函数通过new 创建对象
适用场景:需要创建多个类型确定的对象
缺点:若在构造函数内部创建方法会占据内存,如果将方法写在构造函数外部会污染全局命名空间,且不安全。

五,构造函数+原型组合模式
方法:自定义构造函数,属性在函数内部初始,方法添加到原型上
适用场景:需要创建多个类型确定的对象

 

继承模式:JS中如何实现继承
一,原型链继承
 1.定义父类构造函数
 2.给父类的原型添加方法
 3.定义子类型的构造函数
 4.将父类型的对象赋值给子类型的原型
 5.将子类原型的构造属性设为子类型
 6.给子类原型添加方法1
 7.创建子类型的对象可以调用父类型的方法          

二,组合继承
第二种方法是借用构造函数继承,但是此方法并不能继承父类型构造函数的方法只能继承父类型的属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值