在JavaScript中,函数的执行上下文决定了函数内部的'this'值。当函数被调用时,JavaScript引擎会根据函数的调用方式来确定'this'的值。
在外部函数中获取运行时'this'的方法有以下几种:
- 使用箭头函数:箭头函数没有自己的'this'绑定,它会继承外部函数的'this'值。因此,在箭头函数内部可以直接访问外部函数的'this'。
- 使用bind()方法:bind()方法可以创建一个新的函数,并将指定的'this'值绑定到新函数中。通过将外部函数的'this'作为bind()方法的参数,可以创建一个新函数,该函数在执行时会使用外部函数的'this'值。
- 使用call()或apply()方法:call()和apply()方法可以在函数执行时显式地指定函数内部的'this'值。通过将外部函数的'this'作为call()或apply()方法的第一个参数,可以在调用函数时将'this'值传递给函数。
- 使用变量保存外部函数的'this'值:在外部函数中,可以将'this'值保存到一个变量中,然后在内部函数中使用该变量来访问外部函数的'this'。
以上是从外部函数获取运行时'this'的几种常见方法。根据具体的使用场景和需求,选择合适的方法来获取'this'值。