this:这个,指的是调用当前方法(函数)的那个对象
例1:
function fn1(){
this
}
fn1();// this => window
例2:
function fn1(){
this
}
box.onclick = fn1;// this => box
例3:
function fn1(){
this
}
box.onclick = function(){
fn1();//fn1()里的this => window
}
例4:
window.onload = function(){
var that = null;//设置一个变量为空,用来存储this
box.onclick = function(){
that = this;//把this存一下,这个this指的是当前对象box,赋值给that
fn1();//调用fn1()
};
function fn1(){
that.style.background = 'yellow';//如果使用this指的是window;that是指box
};
}
例5:
box.onclick = fn1;//点击之后调用fn1函数,不带小括号
function fn1(){
this.style.background = 'red';//这个this是指box
};
总之this代表两个:一个是当前对象,一个是window
注意:
box.onclick = fn1;//如果有函数名,就要用这种写法,不带小括号
box.onclick = fn1();//这么写会报错