js进阶笔记--原型链相关

1、昨天说了,构造函数的方法对象都放到prototype里,实例对象可以直接使用,那么为什么实例对象可以直接使用呢?就是因为__proto__的存在。

存在一个三角关系

new Star().__proto===Star.prototype

Star.prototype.constructor=Star

__proto__是对象专有,所以叫对象原型,而prototoype叫原型对象

2、继承

继承是面向对象的三大特征之一

写法为:

其中say是Singer自带的方法,这样Singer不仅继承了Star的内置属性,同时也拥有自己的方法。

就是把孩子,也就是继承者看作是父类的对象去创建,这样在对子类添加新的方法时,则不会对父类产生影响。

3、原型链

就是实例的__proto__指向构造函数的prototype,而父类的prototype也有__proto__,因为他也是个对象,他的__proto__再指向他的父辈的prototype,以此类推,直到最高阶Object,这条链就是原型链。Object.prototype.__proto__=null,就是指到头,没有啦

4.instanceof

就是查看原型链上是否存在该父类

会显示true。

补充闭包

今天看课的时候,老师说闭包,没想起来,就重新看了一下,主要写法如下

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值