this2

作者: _____西班木有蛀牙 | 来源:发表于2021-08-26 14:01 被阅读0次

    根据优先级来判断函数在某个调用位置应用的是哪条规则。可以按照下面的
    顺序来进行判断:

    1. 函数是否在 new 中调用(new 绑定)?如果是的话 this 绑定的是新创建的对象。
      var bar = new foo()
    2. 函数是否通过 call、apply(显式绑定)或者硬绑定调用?如果是的话,this 绑定的是
      指定的对象。
      var bar = foo.call(obj2)
    3. 函数是否在某个上下文对象中调用(隐式绑定)?如果是的话,this 绑定的是那个上
      下文对象。
      var bar = obj1.foo()
    4. 如果都不是的话,使用默认绑定。如果在严格模式下,就绑定到 undefined,否则绑定到
      全局对象。
      var bar = foo()

    相关文章

      网友评论

          本文标题:this2

          本文链接:https://www.haomeiwen.com/subject/znquiltx.html