构造一个生成对象的函数(小写字母开头命名,因为不需要使用new前缀):
步骤:
1—创建一个对象。方法很多,可以构造一个对象字面量,或和new前缀连用去调用构造器函数,或使用Object.create方法去构造一个已经存在的对象的新实例,或调用任意一个会返回对象的函数;
2—有选择地定义私有实例变量(即函数中通过var定义的普通变量)和方法;
3—给这个新对象扩充方法。这些方法有特权去访问参数,及前一步通过var定义的变量;
4—返回新对象。
伪代码:
var constructor = function(spec,my){
var that,其他私有实例变量;
my = my || {}; //为继承链中的构造器提供私密共享的容器
my.member = value; //把共享的变量和函数添加到my中
that = 一个新对象;
var methodical = function(){ ... }; that.methodical = methodical; //添加给that的特权方法
return that;
};