js面向对象 请教 AJAX实战

initialize: function() {

this.validators = new Object();
new Validator(this.validators);
new NumberValidator(this.validators);
}
在这个函数中 通过new Validator(this.validators); new NumberValidator(this.validators);使用this.validators初始化了两个对象Validator,NumberValidator;

然后就可以通过类似this.validators[type].validate(input, errordiv); 来选择是调用Validator还是NumberValidator中的validate函数了,这是为什么。。。。。。。
其中Validator,NumberValidator中都有定义validators[this.type] = this;

这是我看AJAX实战上面的一个可复用有效性验证的源码

没明白你问啥..是在自问自答么..

因为
[quote]其中Validator,NumberValidator中都有定义validators[this.type] = this; [/quote]

所以自然会
[quote]this.validators[type].validate(input, errordiv); 来选择是调用Validator还是NumberValidator中的validate函数了[/quote]

因为validators[this.type] = this;把Validator/NumberValidator也就是this赋值给validators这个object的一个成员.
那自然this.validators[type]可以得到Validator/NumberValidator