面向对象继承

(1)问题:只要将方法定义放在构造函数中,那么,每次new时都会执行function,就会反复创                        建相同函数的多个副本!--浪费内存

(2)解决:如果将来发现多个子对象都要使用相同的功能和属性值时,都可以用继承来解决

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

(4)如何:js中的继承都是通过原型对象实现的

          a.什么是原型对象:替所有子对象保存共有属性值和方法的特殊父对象

          b.何时:今后只要发现多个子对象,都需要使用相同的功能和属性值时,都可将相同的功能                        和属性值集中定义在原型对象中。

           c.如何:1).如何创建原型对象:不用自己创建。而是在定义构造函数时,程序自动附赠我                                                                   们一个空的原先对象

                         2).如何找到原型对象:构造函数中都有一个自带的属性propotype,指向自己配 对                                                                的原型对像

         构造函数.prototype

                        3).何时如何继承:new第二部步自动让新创建的子对象,继承构造函数的原型对                                     象。new会自动为子对象添加_ _proto_ _属性指向构造函数的原型对象

                       4).如何向原型对像中添加新的共有属性和方法

                             只能强行赋值:
                               构造函数.prototype.共有方法=function(){.....}

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

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

                        e. 强调: 所以,今后,构造函数中一定不要包含方法的定义。所有方法都应该集中                                       定义到原型对象中一份。所有子对象共用。

            d.修改属性值时:

               1).自有属性:子对象.属性名 = 属性值

               2).共有属性:构造函数.propotype.共有属性=新值

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值