普通函数
1.this指向其直接调用者
2.没有直接调用者时或者全局无前缀时,this指向window
3.严格模式下,没有直接调用者的this指向undefined
4.new一个对象时,this指向new出来的对象
5.使用bind,apply,call改变this指向时,this指向绑定的对象
箭头函数
1.this指向箭头函数定义时所在的对象(宿主对象),而不是箭头函数被使用时所在的对象
2.箭头函数不能使用构造函数,即不能new出来一个箭头函数
3.箭头函数不能使用arguments对象
4.箭头函数返回对象时,需在对象外面包一层括号()
其他
三种特殊情况下,this指向window
1.立即执行的函数
3.setTImeout中传入的函数
3.setInterval中传入的函数
本文深入探讨JavaScript中的this指针行为,包括普通函数与箭头函数的区别:普通函数的this取决于调用方式,箭头函数的this固定指向定义时的上下文。在严格模式下,无直接调用者时this为undefined。此外,this在定时器、立即执行函数等特殊场景下可能指向全局对象window。了解这些细节对于提升JavaScript编程能力至关重要。
1098

被折叠的 条评论
为什么被折叠?



