关闭

var me=this作用

标签: js
450人阅读 评论(0) 收藏 举报
分类:

原来一直不理解为什么要把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);
            }
        });
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55762次
    • 积分:896
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:92篇
    • 译文:0篇
    • 评论:1条
    最新评论