原型对象 和 对象原型

原型可以解决构造函数浪费内存的问题

目的:能够利用原型对象实现方法共享

 

protodtype也叫原型对象

Prototype 的方法,this也指向这个常见的对象

原型就是构造函数的一个属性

  1. 构造函数通过原型分配的函数是所有对象共享的
  2. Js规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象
  3. 这个对象可以挂载函数,对象实例化不会多次创建航行函数,解决内存
  4. 我们可以把那些不变的方法,直接定义在prototype对象上,这样所有对象的实例就可以共享这些方法
  5. 构造函数和原型对象中的this都指向实例化的对象

公共的属性写到构造函数里面,公共的方法写到原型对象里面(prototype)

_proto_ 对象原型,只要构造函数在prototype里存储方法或属性时,创建的对象都可以通过对象上的_proto_这个属性访问到 这也就是说_proto_是对象上的属性

__proto__是包含在实例对象里面的,__proto__对象原型里面也有一个constructor属性,指向创建该实例对象的构造函数

构造函数和原型里面的this就是 实例对象

如果构造函数内和原型对象上有相同的方法时,会执行构造函数上的,原因是临近原则查找方式

Constructor属性  该属性指向该原型对象的构造函数

Constructor  本身就是构造函数(手动指回原来的构造函数)以下这种赋值来指回来

对象原型(__proto__)和原型对象(prototype)他们都有一个constructor属性,constructor属性也叫构造函数,而且它指向构造函数本身(Person)

场景:用于查找该对象引用的是哪个构造函数

原型链:

所有的对象上都有原型对象(prototype),所有的原型对象上都有对象原型(__proto__),那种查找方式就是原型链(一级一级朝上查找)

其实构造函数就是在创建对象  构造函数的终极boss是Object

如果object身上都没有想要找的方法,那就会返回null

用instanceof 去查找  一级一级往上找

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值