1. JavaScript的面向对象是基于原型的;


2. JavaScript是以一个函数来表示类的,只不过这个函数中可以使用this,可以在里面声明属性和方法;

   也可以倒过来说,如果一个普通函数中使用了this关键字,那么这个函数就是一个类,就必须以对象的形式来调用;


3. 所谓的对象,其实就是一个构造函数(和普通函数一样)加一个new关键字,

   如果没有new关键字,那么这个构造函数就是一个普通的函数。在对象的声明这一点上,JavaScript是和传统面向对象相同的;


4. JavaScript类中的成员属性是所有对象私有的,这个和传统的面向对象是一样的,即成员属性是属于对象的;

   

5. JavaScript的成员方法也是私有的,即每个对象都会在内存中保存独立的成员方法,所以它的成员方法也是私有的、属于对象的;

   

6. 传统的面向对象的成员方法是属于整个类的,每个对象对成员方法的引用地址都是相同的,即方法是对所有对象都是共享的;

   

7. JavaScript引入了“原型”的方式实现了与传统面向对象类似的功能。因为“原型”最大的一个特点是“共享”。