总结的 Java Script 中定义对象的几种方法,以及各自原理:
1. 基于已有对象来动态扩充其对象和方法
弊端:对象只有一个,如果再次需要,就要再次创建。
2. 工厂方式创建对象
让一个函数对象被多个对象多使用,不管创建多少对象,使得函数对象只有一份。
3. 构造函数方式创建对象
4. 使用原型prototype的方法定义
弊端:
4.1 单纯使用原型方式定义类无法再构造函数中为属性赋初值,不能传参数
4.2 可能会导致程序错误,当给prototype使用赋值的时候,如果赋值的是引用,那么就会导致多个对象指向一个引用,其中一个对象把引用的内容变化了之后,所有的对象都会受到影响。
5. 使用原型+构造函数方式定义对象
6. 动态原型方式