字面量创建
弊端:代码冗余
内置结构函数创建对象
弊端:代码冗余
工厂函数创建
弊端:无法判断对象属于哪一个类型
自定义构造函数创建
弊端:每个实例调用的方法应该是一致的,但是实际上在生成实例时,各自都创建了自己的方法。消耗了内存。
原型方法创建函数
解决了多个实例相同的方法指向不一样的问题,但是无法添加自己的属性值
组合创建方式
属性放到构造函数里,方法放到原型对象上
每一个构造函数都有一个原型对象,原型对象上的属性和方法能被实例所访问,每一个实例上有指向这个原型对象的内部指针__proto__