●Object构造函数
●对象字面量
●工厂模式
●构造函数模式
●原型模式
●动态原型模式
●寄生构造函数模式
●稳妥构造函数模式
●Object构造函数
●对象字面量
使用上述两者的方法会有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。
●工厂模式(早期人们使用工厂模式来解决上述两者方法存在的缺点问题,但是工厂模式有个缺点就是没有解决对象识别的问题(即怎样知道一个对象的类型))
●构造函数模式(分为原生构造函数(如Object、Array等)和自定义构造函数)
记住:自定义构造函数要善用this方法!!!
上述的工厂模式Person()函数和自定义构造函数createPerson()存在以下不同之处,且以这种方式定义的构造函数是定义在Global对象(在浏览器中是window对象)中:
构造函数始终都应该以一个大写字母开头,而非构造函数则应该以一个小写字母开头。
构造函数属性(constructor):
对象的constructor属性最初用来标志对象类型的。但是,提到检测对象类型,还是instanceof操作符要更可靠一些。
创建自定义的构造函数意味着将来可以将它的实例标识为一种特定的类型;而这正是构造函数模式胜过工厂模式的地方。