事件监听函数中的this
特别简单的一个html结构
<div class="test"> </div>
测试需求为点击显示this指向
- 直接在标签中调用
<div class="test1" onclick="t();">
</div>
function t(){
console.log(this);
}
浏览器控制台结果 在这种情况下,相当于告诉浏览器去找到t函数,然后执行它,t函数在全局对象空间中,所以this指向window 2. 普通匿名函数
var test = document.querySelector(.test);
test.addEventListener(click,function(event){
console.log(this);
});
浏览器控制台结果 3. 箭头函数
var test = document.querySelector(.test);
test.addEventListener(click,()=>{
console.log(this);
});
浏览器控制台结果 分析 普通的匿名函数中this指向触发事件的元素 箭头函数由于不会创建自己的this,它只能从作用域链的上层继承this,所以this指向全局对象window
参考资料:
