1、直接创建法;
该方法简单直接,却不能直接量产
2、工厂模式---利用函数创建对象;
工厂模式解决了无法量产的问题,但是它自身的弊端就是无法 明确对象类型,比如上例中若用instanceof分别检测s1,t1属于student还是teach,得到的都是false。
3、构造函数;
利用构造函数创建对象 ,不仅可以量产,还能明确对象的类型,如:
输出结果:
由此可见,构造函数解决了工厂模式无法识别对象类型的问题,观察两者不同之处,构造函数利用了js中this的指向 性可以改变的特性,且在创建新对象时利用了new,new在其中起了什么作业呢?请点这http://t.csdn.cn/TtdYA
然而,构造函数创建对象也有弊端,因为共有方法不能公用,只能独立存储,导致了一个不能忽视的问题——消耗内存。为了解决这个问题,就将共有方法放入构造函数原型。
4、原型创建;
输出:
将共有方法 加到原型里,是可以公用的。