基于阮一峰5种继续体式格局的总结

前两天进修JS继续的时刻,搜到了阮大神写的一篇文章http://www.ruanyifeng.com/blo…
重要讲了5种组织函数继续体式格局.我写此篇文章重要是为了总结进修所得.

父组织器Animal,子组织器Cat,cat是子组织器new出来的对象,”只能继续父组织器中的属性” 代表继续属性和要领.

第一种叫组织函数绑定:
此种继续体式格局只能继续父组织器中的属性,不能继续父组织器原型上的属性.Animal.apply(this, arguments)也可用Animal.call(this)替代.cat对象有两个层级,第一级存放着自有属性以及父组织器中的属性,第二级存放着本身函数原型上的属性(Cat.prototype)
《基于阮一峰5种继续体式格局的总结》

第二种叫prototype形式:
此种继续体式格局既能继续父组织器中的属性,也能继续父组织器原型上的属性.cat对象有三个层级,第一级存放着自有属性,第二级存放着父组织器的属性(加上constructor,指向建立该对象(cat)的组织器(Cat)),第三级存放着父组织器原型上的属性.
《基于阮一峰5种继续体式格局的总结》

第三种叫直接继续prototype:
此种继续体式格局只能继续父组织器原型上的属性.cat对象有两个层级,第一级存放着自有属性,第二级存放着父组织器原型上的属性(加上constructor,指向建立该对象(cat)的组织器(Cat)).注重:Cat.prototype.constructor = Cat会将Animal.prototype.constructor也改成Cat,从而影响父组织器建立对象
《基于阮一峰5种继续体式格局的总结》

第四种叫空对象作为中介:
此种继续体式格局只能继续父组织器原型上的属性.cat对象有三个层级,第一级存放着自有属性,第二级存放着暂时组织器F的属性(加上constructor,指向建立该对象(cat)的组织器(Cat)),第三级存放着父组织器原型上的属性.注重:暂时组织器只充任中介的作用,平常不会有本身的属性.
《基于阮一峰5种继续体式格局的总结》

第五种叫浅拷贝继续(软大神称之为拷贝继续):
此种继续体式格局只能继续父组织器原型上的属性.cat对象有两个层级,第一级存放着自有属性,第二级存放着父组织器原型上的除了constructor和__proto__的属性(不会拷贝原型上的constructor和__proto__属性).合适父组织器原型上的自增属性为基础数据类型的状况.
《基于阮一峰5种继续体式格局的总结》

    原文作者:小被子
    原文地址: https://segmentfault.com/a/1190000008457844
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞