javascript的上下文如何理解

javascript的上下文的正确详细理解(或者是正确的解释)

阅读 3.1k
2 个回答

上下文这个词经常被乱用,主要有四种情况:

  1. 当有人说“变量所处的上下文”时,实际指“词法环境”,或者我们常说的作用域,即规范中的Lexical Environment

  2. 当有人说“函数的上下文”时,实际指“函数的执行环境”,即规范中的Execution Context

  3. 当有人说“callapplybind会改变函数执行的上下文”时,实际指“函数执行时的this”,即规范中的this binding

  4. 当有人说“你这段代码要结合上下文才能看出具体含义”时,此处的上下文就是我们日常生活中说的上下文。

作用域是函数级别的,不同的作用域就是不同的上下文,也就是this值不同。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题