【问题标题】:"Script" Category under Scope范围下的“脚本”类别
【发布时间】:2019-01-13 12:56:03
【问题描述】:

我正在 Chrome 开发工具中检查一个简单脚本的执行上下文。我注意到在断点或调试器语句中,chrome 开发工具在范围部分显示了一个新类别。它有:

  • 本地
  • 脚本
  • 全球

我相信脚本与letconst 的存储方式有关,因为它们没有附加到全局窗口对象。但是,我的理解是它们仍在“全局范围”内,但未绑定到全局对象。

我相信“脚本”标签代表了这个想法,但为什么选择“脚本”这个名称?

我检查了documentation,但不幸的是,它没有提到“脚本”是什么。

这是我的例子的截图:

有人对使用的命名约定有任何见解吗?

【问题讨论】:

  • 似乎只有一个人可以回答“为什么选择“脚本”这个名字?”是实际为 Chrome DevTools 编写 PR 的人。如果您正在寻找某人来验证您对其行为的理解,那似乎是一个单独的问题。最好澄清您实际期望的答案类型。
  • 我认为这是因为语言区分(普通)脚本和模块。

标签: javascript ecmascript-6 google-chrome-devtools


【解决方案1】:

因为脚本范围内的变量可以在另一个脚本标签中访问(包括外部的)。

this question

顺便说一下,Firefox 的开发工具只是简单地将这种范围称为“块”。 例如:

var a = 0;
let b = 1;
function test() {
  function test2() {
    let c = 2;
  }
  test2();
}
test();

在 Chrome 开发工具中看起来像这样: in Chrome devtools 在 Firefox 开发工具中看起来像这样: in Firefox devtools

【讨论】:

    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多