原型对象与继承(原型链)

最近秋招有点压抑,在技术面的时候面试官问了很多我还不太懂的东西。不是说完全不懂,就是实现原理还是很不行。就原型对象和继承(原型链)来说,我大概知道是什么回事,但是要我真的详细讲到底是什么就讲不出来了。所以有重新学了一遍这两个知识点。我看了js高阶有关这部分内容,仿佛我以前对这两个真的是完全不懂。现在写一下我这几天理解的吧。

首先对象的构造可以用字面量的方法,但是这种方法有个缺点就是无法复用,就是如果多个对象用到了相同的属性,那么用字面量的方法就会很麻烦,每次都要写。所以就有了使用构造器的方法构造对象。在ECMScript中的构造器有Object、Array、Function、Date、String这五个。构造器方法只要用new就可以创建新的对象。同样,也可以自定义构造函数,构造函数与普通函数无分别,为了有标志性,构造函数的函数名开头用大写。

构造函数有一个属性prototype,这个属性本身就是一个对象,也就是构造函数的原型对象,这个原型对象有个constructor属性,指向构造函数本身。同样对于构造函数,只要用new就可以实例化一个对象,这个实例化对象自带一个指针_proto_指向了其构造函数的原型对象,故这个实例化对象可以使用原型对象上的属性。基本上就是这样子吧。一般的构造对象的模式是构造函数模式和原型模式相结合。对于构造函数可以定义实例化对象的属性和方法,而原型对象则定义共享的属性和方法。

---------------待后续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值