范围下的“脚本”类别

时间:2018-08-06 14:17:43

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

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

  • 本地
  • 脚本
  • 全球

我认为脚本与letconst的存储方式有关,因为它们未附加到全局窗口对象。但是,我的理解是它们仍然处于“全局范围”内,但不限于全局对象。

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

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

这是我的示例的屏幕截图:

enter image description here

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

1 个答案:

答案 0 :(得分:0)

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

请参见this question

顺便说一句,Firefox的devtools只是将这种作用域称为“块”。 例如:

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

在Chrome devtools中将如下所示: in Chrome devtools 在Firefox devtools中看起来像这样: in Firefox devtools