JavaScript 让 Firefox 开发者工具调试视图中的块作用域

2024-02-26

我正在调查该机构的工作情况let 块作用域在 JavaScript 中,特别是浏览器的调试视图如何显示信息

Using let在一个for循环创建一个块作用域,其中回调function timeoutHandler()可以访问,一切都很好

In Chrome 开发工具,[[Scopes]] 如下所示:

In 火狐开发者工具,列出了一个额外的块作用域,其中有timeoutHandler:timeoutHandler()因为它是财产。我只希望看到块作用域j:1

这个额外的块指的是什么?

只是想知道,因为我期望的词法范围显示在 Chrome 调试中,但在 Firefox 调试中却没有显示


这个额外的块有什么用timeoutHandler指的是?

似乎显示包裹在你周围的不可变绑定命名函数表达式 https://stackoverflow.com/q/30547514/1048572。函数表达式实际上被解释为就像您的代码一样

'use strict';

for (var i = 1; i <= 2; i++) {
    let j = i;
    setTimeout( {
        const timeoutHandler = function() {
            console.log(j);
            debugger;
        };
        timeoutHandler
    }, 1000);
}

(好吧,调用表达式内的这个块作用域显然在语法上不合法,但我希望你能明白意思)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 让 Firefox 开发者工具调试视图中的块作用域 的相关文章

随机推荐

  • Python:从字符串中打印特定字符

    如何在Python中打印字符串中的特定字符 我仍在学习 现在正在尝试制作一个类似刽子手的程序 这个想法是 用户输入一个字符 如果它在单词中 则该单词将被打印 所有未发现的字母都为 我并不是在寻求一种方法来使我的整个项目的想法 代码变得更好
  • 在数据框中对因子进行数字重新排序

    我有从 0 到 39 的因数 现在它们的排序方式如下 gt levels items label 1 0 1 10 11 12 13 14 15 16 17 18 19 13 2 20 21 22 23 24 25 26 27 28 29
  • 根据(多个)条件分成组?

    我有一组不同颜色和重量的弹珠 我想根据它们的重量和颜色将它们分成几组 条件是 一组重量不能超过 100 个单位 一组中不同颜色的弹珠不得超过 5 个 一个可重现的例子 marbles lt data frame color sample 1
  • 我可以同时变基和压缩提交吗?

    当我对之前几次提交的更改进行修复时 我总是会连续运行两次 rebase 是否可以一步完成此工作流程 假设我有 4 个新提交 master D C B A Base 我在 B 中发现了一个错误 所以我创建了一个分支并修复它 master D
  • 我可以访问 iPhone 上的钥匙串吗?

    这个问题讨论 iPhone 上的数据加密 https stackoverflow com questions 189925 password encryption in iphone apps使用 crypt 函数 作为替代方案 iPhon
  • 按元组成员映射元组列表

    假设我有一个列表decimal decimal let tup 1M 2M 2M 3M 3M 3M 4M 5M 5M 6M 7M 6M 8M 9M 10M 9M 我需要一个函数 如果可以连接的话 可以将所有值分组在一起 例如 map 100
  • 如何选择 jq 中作为变量提供的键的值?

    如果这是输入 a key 2 another key 100 one more key 4 2 通过提供键的名称作为变量来选择这些键的值的最佳方法是什么 理想情况下 我正在寻找类似的东西 a key as key key 但这会导致语法错误
  • 片段和活动之间的核心区别是什么?哪些代码可以写成fragment?

    我有三个选项卡 每个选项卡三个片段和一个主要活动 我想创建套接字以通过 wifi 网络发送消息 那么我应该在哪里编写代码呢 在那个特定的片段类或主要活动中 当然 您可以在片段中编写任何代码 但您需要注意一些事情 在访问需要上下文的任何内容或
  • 如何为目标计数器设置计数器

    在分页媒体中 CSS 属性target counters http www w3 org TR css3 gcpm the target counter and target counters v可用于包含多个计数器 该规范给出了以下示例
  • Webpack ProvidePlugin 全局变量(找不到模块)

    我对 Webpack 还很陌生 但不明白为什么我的 ProvidePlugin 调用没有按预期工作 我有以下文件 App js var App function getSomething function size module expor
  • 输入二进制而不是十六进制[重复]

    这个问题在这里已经有答案了 可能的重复 我可以在 C 或 C 中使用二进制文字吗 https stackoverflow com questions 2611764 can i use a binary literal in c or c
  • Gradle 和多项目结构

    我试图了解应该如何进行以下项目设置 Top Android Project Project 1 Pure Java Modules Module A1 Module B1 Module Z1 Project 2 Android Librar
  • 如何在rails中后台运行rake任务

    这是我的命令 bundle exec rake resque work QUEUE trace 我想在我的服务器上作为后台进程运行此命令 请帮我 我经常使用的一个方法是 nohup bundle exec rake resque work
  • 如何创建 gzip 压缩的 HTTP::Response?

    我需要使用压缩数据创建 HTTP Response 我该如何对内容进行压缩 我是否只需添加适当的标头并使用 Compress Zlib 自行压缩它 或者 LWP 模块是否提供了处理此问题的方法 这是你需要的吗 您对数据进行压缩 设置内容编码
  • 从 Python 中打开的 Excel 文件中读取

    我有一个脚本每隔几个小时从 Excel 文件中提取数据 但是 如果这些 Excel 文件之一打开 我仍然希望能够读取它 在 python openpyxl 中 当我尝试执行此操作时 出现权限错误 以下是我尝试过的 我认为我可以捕获异常并创建
  • 暂停交易是什么意思?

    如果我们使用 Propagation Requires new 那么它会挂起现有事务并创建一个新事务 那么这意味着什么suspends a transaction 暂停的交易会怎样 幕后究竟发生了什么 update 暂停的事务持有的资源会发
  • scala 列表地图与mapConserve

    我试图理解mapConserve 据说 像xs map f 但如果函数f将所有元素映射到自身 则返回xs不变 来自List http www scala lang org api current index html scala colle
  • Java 8 - 无法在数组类型 Enum[] 上调用stream() [重复]

    这个问题在这里已经有答案了 为什么我无法调用stream 关于数组类型Enum DummyEnum array DummyEnum values array stream Compile Error ENUM public enum Dum
  • 如何使用 Java 获取我的电脑中可用串行端口的列表?

    我只是运行一些代码来获取计算机上的可用端口列表 当我有 3 个空闲的 com 端口时 它返回 false 我该如何解决这个问题 我的代码 public static void main String args SerialParameter
  • JavaScript 让 Firefox 开发者工具调试视图中的块作用域

    我正在调查该机构的工作情况let 块作用域在 JavaScript 中 特别是浏览器的调试视图如何显示信息 Using let在一个for循环创建一个块作用域 其中回调function timeoutHandler 可以访问 一切都很好 I