1.关于面向对象的概念
a. 类 class :在js中就是构造函数
*在传统的买你想对象语言中,使用一个叫做类的东西定义模板,然后使用模板创建对象。
*在构造方法中也具有类似的功能,因此称其为类
//在JAVA 中,最小的代码单位是 类
class Program{
//成员
}
//构造函数就叫做类
b.实例(instance)与对象(object)
*实例一般是指某一个构造函数创建出来的对象,我们称为xxx构造函数的实例
*实例就是对象,对象是一个泛称
*实例与对象是一个近义词
c.键值对与属性和方法
*在js中键值对的集合称为对象
*如果值为数据(非函数),就称该键值对为属性
*如果值为函数(方法),就称该键值对为方法method
d.父类与子类
*传统的面向对象语言中,使用类来实现继承,那么就有父类,子类的概念
*父类又称为基类,子类有称为派生类
*在js中常常称为父对象,子对象,基对象,派生对象
2.原型相关的概念
a.神秘对象针对构造函数称为"原型属性"
*神秘对象就是构造函数的原型属性(简称原型)
b.神秘对象与构造函数所创建出来的对象也有一定的关系
*关系是什么(对象调方法或者访问属性的时候,如果对象没有这个成员,到神秘对象上去找,也就是到这个对象的构造函数的原型属性上去找)
*神秘对象针对构造函数创建出来的对象 称为原型对象,简称原型
c.对象继承自其原型
*构造函数创建的对象 继承自 构造函数的原型属性
*构造函数创建的对象 继承自 该对象的原型对象
*构造函数所创建出来的对象与构造函数的原型属性表示的对象是两个不同的对象
*原型中的成员,可以直接被实例对象所使用(也就是说,实例对象直接"含有" 原型中的成员,因此实例对象 继承自 原型,这样的继承就是"原型继承")
3.一些问题
*{} 构造函数是什么?
*凡是字面量的对象都有构造函数
*{} object
*[] array
*/./ RegExp
*function ...