原来一直不理解为什么要把this赋值给变量,要用直接用this不就行了么?这个有时候真不行!因为this在不同情况下指代的对象是随时在发生变化的,比如在现在这个代码中,this在进入ajax之前指代的是调用reloadData的那个对象,比如a.reloadData,则this此时就指代a。当进入success中后,this就指代的是ajax返回的当前window,而不再是a,此时再调用a的属性或方法就取不到了,而提前把this(a)赋值给变量,在用a时可以从变量中取到。
reloadData :function(fn){
var me =this;
var setting =this.setting;
Hq.ajax({
url : url,
type :'post',
cache :false,
async:this.setting.asyncAutoLoad,
data :this.setting.params,
dataType :'json',
success :function(_setting){setting.dataTable.setEnableEdit(setting.editable);
}
});