代码改变世界

js中的this关键字

2014-04-03 10:06  Z梦  阅读(143)  评论(0编辑  收藏  举报

this在原则上总是指向调用该方法的对象:如

1.函数被作为某个对象的方法调用时,this等于那个对象

function test(){

    alert(this.name);

}

var obj=new Object;

obj.name="lily";

obj.test=test;

obj.test();    //输出lily,这个时候this为obj

 这也是使用this的一个原因,因为你不知道你的方法的会被哪个对象使用。

 

2.在全局函数中,this等于window,全局变量

var x = 1;
function test() {

      alert(this.x);

}

test();//1

var x = 1;

function test() {

      this.x = 0;  //因为这里的x没有被定义为var x ,所以x为全局变量

}

test();

alert(x);//0

3.this会被apply()和call()改变