1、普通函数 里面的 this 指向的是 window
var fn = function() {
console.log('对象方法的this:' + this);
}
fn();
2、事件绑定函数 里面的 this 指向的是 被绑定者
var btn = document.querySelector('button')
btn.onclick = function() {
console.log('对象方法的this:' + this);
}
3、对象方法 里面的 this 指向的是对象 o
var o = {
Hello: function() {
console.log(this);
console.log('对象方法的this:' + this);
}
}
o.Hello();
4、构造函数 里面的 this 指向的是 实例化对象,prototype里面的 this 也指向实例化对象
function Star() {
}
var lxc = new Star();//实例化
5、定时器函数 里面的 this 指向的是 window
6、立即执行函数 里面的this 指向的是 window
(function() {
console.log('立即执行函数的this' + this);
})();
立即执行函数与定时器函数在同一级上使用时,会出现一下问题