词法this和闭包

时间:2018-06-27 18:56:53

标签: javascript closures this

我试图理解箭头函数如何传递给testSelfRequiredField(event.value, "textFieldName");,并记住先前执行上下文中setTimeout的值。我知道在执行箭头函数时,使用词法作用域规则来查询this值。这是否意味着箭头函数会关闭变量和this关键字?

this

2 个答案:

答案 0 :(得分:1)

实际上,使用 fat箭头符号的全部目的是继承父范围。箭头功能的主要应用是拉低父范围。 当我们调用setTimeout时,链条如下所示:

  1. 呼叫进入呼叫堆栈
  2. 它被传输到 Web浏览器api 空间,该空间一直等待到间隔时间。
  3. 现在间隔时间完成后,将由事件循环处理,该事件循环将其传输到 JS队列
  4. 命令执行将一直等到队列中的其他项完成执行,然后在空的情况下再次将执行流转移到Call-Stack。
  5. 现在将执行setTimeout中的命令。

    JS execution flow

答案 1 :(得分:0)

  

这是否意味着箭头功能会在this关键字上关闭?

是的,就是这样。