函数的调用姿态
js完整的调用姿态是 上下文.函数(),也就是说函数并不能真正单独调用,他一定是被某个上下文调用的。如果直接写函数调用,那么就是表示的就是window.函数(),严格模式是undefined.函数。
函数的作用
隐式的传递上下文引用,更具可读性,和优雅性。
函数内的this到底指向哪里?
函数的this最终指向哪里是由函数调用位置决定的。(箭头函数除外)
this指向规则
- 函数被哪个上下文调用。那么函数里的this就指向哪个上下文。
- 如果函数 被 关键字new当作 构造函数调用,this指向返回的那个对象实例。
- 箭头函数让this 和 此法作用域联系起来了。它的this指向外层作用域的this。
- 回调函数里的this指向主要看回调函数的调用形式,参照第一条规则
改变this指向的方法。
- apply(ctx,参数数组)
- call (ctx,不定参数)
- bind(ctx,不定参数),返回的是一个函数,并不会立即执行。
注意:
call apply bind 不能改变箭头函数里this的指向
网友评论