new做了哪几件事

  1. 创建了一个空对象
  2. 让子对象自动继承构造函数的原型对象
  3. 调用构造函数,替换实参,将this替换为正在创建的新对象
  4. 将新对象的内存地址返回

优点: 重用对象结构代码

缺点: 如果构造函数中包含方法定义,则每次创建新对象都会重复创建相同方法的副本。——浪费内存!

解决:如果发现多个子对象都需要使用相同的功能时,就可以使用继承来解决

什么是继承?父对象中的成员,子对象无需重复创建就可以直接使用,就像使用自己的成员一样

JS中的继承都是通过原型对象来实现的

什么是原型对象?替所有子对象集中保存共有的属性和方法的特殊父对象

如何:创建原型对象:不用自己创建,而是在定义构造函数时,程序自动为我们生成。

             找到原型对象?构造函数中都有一个自带属性prototype,指向自己匹配的原型对象即:构造函数.prototype

               向原型对象中添加共有的属性和方法构造函数.prototype.共有方法 = function(){}

              构造函数.prototype.共有属性=属性值

今后,用子对象.访问对象的成员时,js引擎先在子对象内部查找自有的属性。如果子对象没有,则js引擎会自动延_ _proto_ _属性去父元素查找。如果在父元素中找到了想要的属性或方法,则和访问子对象的方法一样调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值