Javascript 中的 this

欢迎大家访问我自己架的博客站点 码厩技术博客

1、纯粹的函数调用。
2、作为对象方法的调用。
3、作为构造函数调用。
4、apply 调用。
 
this 在 javascript 中的一个关键字,用在方法中,表示调用该方法的对象。
这样一来,上面的几种用法都好解释了。
第一种情况:
    var x = 1;
    function test(){
        this.x = 0;
    }
    test();
    alert(x); //0
没有另指调用对象,所有代码执行者都是 window,this 自然就是 window。
this 用于引用全局变量。
第二种情况:
    function test(){
        alert(this.x);
    }
    var o = {};
    o.x = 1;
    o.m = test;
    o.m(); // 1
这不解释,this 就是 o 了嘛。
第三种情况:
    var x = 2;
    function test(){
        this.x = 1;
    }
    var o = new test();
    alert(x); //2
做构造函数的时候,this 是指新对象,不再表示全局。
第四种情况:
    var x = 0;
    function test(){
        alert(this.x);
    }
    var o={};
    o.x = 1;
    o.m = test;
    o.m.apply(); //0
apply 函数调用,如果没有参数,就是说环境没有指定,即函数执行者是全局,window。
如果在apply中加入参数 o,表示执行者为对象 o,结果又不一样。
 
 
jQuery 中的 $(this) != this。
$ 函数返回的都是封装好的 jQuery 对象。
 
 
posted @ 2012-07-11 11:58  CatRoll  阅读(152)  评论(0)    收藏  举报