JS的this
this指向相关问题
相关文档
简单整理
只是简单整理,不严谨,学习还是看MDN官方文档
- 绝大多数情况下,函数的调用方式决定了
this
的值。 - 绝大多数情况下,
this
的指向在函数定义时不能确定,在函数执行时确定。 - 绝大多数情况下,
this
指向调用它的对象。 - 全局情况下,
this
指window,nodeJS下指向global
。 - 全局情况下,严格模式时
this
指向undefined
。 - 调用时,可以通过
call()/apply()
方法间接调用以改变上下文。 - 可以使用
bind()
永久绑定其指向到第一个参数,无论这个函数时如何调用的。且bind只生效一次。 - 一个含有
this
的函数被多级调用,this
也只指向直接调用它的上一级对象,而不是最外层。 - 特殊情况,通过ES6箭头函数捕获其所在上下文的
this
值,作为自己的this
值。 - 箭头函数下this会忽略严格模式下的相关规则。
- 箭头函数中的
this
指向不会因为call()/apply()/bind()
方法改变。