为什么须要this

  • this提供了一种更优雅的形式来隐式“传递”一个对象援用,因而能够将API 设计得更加简洁并且易于复用

它的作用域

  • 它在任何状况下都不指向词法作用域。

定义

  • 每个函数的this 是在调用时被绑定的,齐全取决于函数的调用地位

绑定规定

  • 默认绑定
  • 隐式绑定
  • 显示绑定
  • new绑定

优先级

模仿call办法。

Function.prototype.mycall = function(context,...args){  context = context ?? window  //obj.fn1  context.fnxxxx = this  const r = context.fnxxxx  delete context.fnxxxx  return r}

模仿bind办法