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()方法改变。