概念:
面向对象编程就是将你的需求抽象成一个对象,
然后针对这个对象分析其属性和方法,这个对象称之为类
JavaScript是弱类型语言, 拥有封装,灵活的特点
通过this添加的属性方法和prototype添加属性方法有什么区别?
通过this添加的属性和方法是在当前对象上添加的,
然而,javascript是一种基于原型(prototype)的语言,所以每次创建一个对象时,
他都有一个原型prototype用于指向其继承的属性,方法,
通过prototype继承的方法不是对象自身的,所以在使用的时候,
需要通过prototype一级一级的查找
总结:
通过this定义的属性或者方法是该对象自身拥有的,每次通过类创建一个新对象时,this指向的属性和方法都会得到相应的创建,通过prototype继承的属性或方法是每个对象通过prototype访问到的,所以每次通过类创,一个新对象时,这些属性和方法不会再次创建
construtor
construtor是一个属性,当创建对象或者函数的时候会为其创建一个原型对象prototype,在prototype对象种又会像函数一样种创建this一样创建一个construtor属性, construtor属性指向拥有整个原型对象的函数或对象