javascript基于原型的面向对象的理论基础

  面向对象,即按照人类的思维方式来编写程序,这是人类与生俱来的思维方式而不是新兴的一种方法。

1、对象(object):在内存中真实存在的;
2、对象即看待事物时就是一个一个物体构成而是物体就有属性和方法。
3、类:具有相同属性和方法的一组对象的抽象;(不是真实存在的)在设计时抽象出来的;
ps:对象是类的实列,类是对象的抽象
ps:javascript是一个基于原形的面向对象的语言,即每个对象有一个原形,对象从原形种继承属性和方法。当访问对象的属性或调用对象的方法时,解析器
首先检查对象是否有一个同名的实例和方法如果有,就用实列属性,如果没有,解析器就检查对象的原形中是否有适当的属性。在这种方法中,该类型的所有对象的公共
属性和方法可以被封装在原形中,每个对象可以代表该对象特定的数据的实例属性。
原形关系是递归的
对象的原形也是一个对象,而原形的本身可能还有一个原形。解析器会沿着原形链像上搜索。javascript中Object是所有对象的超类或根,所以Object是搜索的终点,
如果在Object中还没有找到对应的属性,那么返回的值就是undefined。如果调用方法,那么将抛出一个运行时错误。

原文地址:https://www.cnblogs.com/xiaosuzhijia/p/4805109.html