当前位置: 首页 > Web前端 > JavaScript

this关键字在JS中出现的场景有哪些?

时间:2023-03-27 17:15:53 JavaScript

总结要点:1.所有this关键字只能在函数运行时才能确定。2、哪个对象调用了this所在的函数,this会指向谁。3.函数执行时,没有明确调用对象时,this指向窗口。场景总结:在浏览器环境下,全局this指向window普通函数,this指向window定时器函数,this指向window对象方法,this指向实例对象构造函数,this指向事件处理中实例对象的函数,this指向事件源。在箭头函数中,没有this;如果使用了this,就把this当作一个普通变量,然后根据作用域进行查找。如何判断箭头函数的this?由于箭头函数没有自己的this,很容易假装它不存在,像这样:varobj={show:function(){setTimeout(()=>{console.log(this);},0),}}现在这个方向很明确了吧?箭头函数可以用call改变this的方向吗?不能!!试图改变箭头函数的this是徒劳的。varfn=()=>{console.log(this);}fn.call(document);//仍然打印窗口