this是什么
当声明一个函数时,函数会有一个this(指针),声明时this不指向任何对象。当函数被调用时,哪个对象调用了该函数,则该函数的this就指向该对象
当事件驱动时,结果匿名函数的this就指向触发事件的对象
1
2
3oDiv.onclick = function(){
//this --> oDiv
}普通命名函数被调用时,函数的this指向全局对象window
1
2
3
4
5function fn(){
console.log(this)
}
fn(); //window
// window 是js的全局对象对象中定义的函数的this就指向该对象
1
2
3
4
5
6
7
8
9
10var obj={
name: 'John',
age:19;
eat:function(){
console.log(this)
}
}
obj.eat();// object
var fnn = obj.eat;
fnn();// this--> window
this的值是什么?
谁调用函数,函数的this就指向谁
就近原则
1 | fn() |