原型和原型链
最近在复习原型和原型链,有几个网站作者写得不错,以下所写是对他们的总结。
1. https://www.cnblogs.com/jofun/p/8746511.html
2. https://www.cnblogs.com/lsy0403/p/5848636.html
3. https://www.cnblogs.com/shuiyi/p/5305435.html
首先先用以上一个图进行总结。
原型与原型链是学习JavaScript这门语言不能不理解的两个重要概念,为什么?因为JavaScript是一门基于原型的语言。
怎么理解“JavaScript是一门基于原型的语言”?在软件设计模式中,有一种模式叫做原型模式,JavaScript正是利用这种模式而被创建出来。先来了解下原型模式的概念:原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。原型模式的目的是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。也就是说利用已有的一个原型对象,可以快速地生成和原型对象一样的新对象实例.
原型:
原型到底是什么?原型是一个可以被复制(或者叫克隆)的一个类,通过复制原型可以创建一个一模一样的新对象。通俗的说,原型就是一个模板,在设计语言中更准确的说是一个对象模板。
原型链
原型设计带来的问题:
当查找一个对象的属性时,JavaScript 会根据原型链向上遍历对象的原型,直到找到给定名称的属性为止。直到到达原型链的顶部仍然没有找到指定的属性,就会返回 undefined。
虽然以上的总结有点匆忙,自我感觉可以应对面试了,希望对看到的小伙伴有帮助,以后还会进行补充滴。