1.全局作用域或者普通函数中this指向全局对象window
// 在全局作用域中直接打印 this
console.log(this); // 指向 window
// 普通函数中的this
function foo (){
console.log(this); //也是指向 window
}
2.方法调用时,谁调用则 this 指向谁
// 事件中的this
var btn = document.querySeletor('button');
btn.onclick = function(){
console.log(this) // 指向 btn
}
** 3.构造函数或者构造函数原型对象中this指向构造函数的实例**
function Person(age){
this.age = age;
console.log(this);
}
Person.prototype.get = function(){
console.log(this);
}
var p = new Person(12);
p.get();
箭头函数中指向外层作用域的 this
var btn = document.querySeletor('button');
btn.onclick = function(){
console.log(this) // 指向 btn
}
var btn = document.querySeletor('button');
btn.onclick = ()=>{
console.log(this) // window
}