用生活中的例子理解JavaScript中的对象

大部分对于JavaScript中对象的描述简直让人不知所云,在看了MDN的说明后终于理解了,不过MDN的讲解其实也没有那么通俗易懂,所以为了不要自己忘了好不容易领悟的东西,举个例子来解释对象。

1. 对象是啥?

对象就是一套模板,带有属性、方法的模板

如果你做过PPT,或者你写过东西,设计过东西,很容易理解这个事情。对象,就是一套模板,只不过把单独的东西叫做属性,把可以变化的输出叫做方法,有点像八股文。

2. 对象里面的constructer 是啥?

就是对象本身!!!

有点晕?如果是对象本身,为啥多了个名字?因为对象本身在很多情况下会被人忽视,会让人看见的其实是一个个的实例,也就是利用模板产出的产品,比如某个人的名片

最主要是输出的产品通常并不老实,经常喜欢自己新加点东西,这样一来,我们有时候就搞不清楚哪部分是模板,哪部分是实例自己加的私货,所以就有了constructor,这样你在任何时候都能分清这个问题。

3.对象里面的prototype是什么?

估计大部分人都想打死这个东西,因为最让人犯晕的就是这个。这个是模板的模板!因为很多时候模板其实也不是原创的,而是从其他模板那儿继承再修改的,所以,为了记录自己的这套模板是从哪来的,自己原创了哪些部分,哪些是从原来的模板继承过来的,于是偷偷建了一个叫做prototype的东西,存放继承的模板。

比如上面那个模板可能是从下面这个烂模板中继承并修改的

4.如果有一个新的对象准备继承旧的对象,继承的是啥?

继承的就是constructor里面的东西,因为那个是一个完整的成套的东西!即使有时候看上去是从实例继承的,也要小心,实际上继承的是模板,而不是实例,所以实例里面那些自己夹带的私货不会再继承范围内。这就是constructor的用处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值