我正在检查chrome开发工具中的简单脚本的执行上下文。我在断点或调试器语句中注意到,chrome dev工具在作用域部分显示了一个新类别。它具有:
我相信脚本与
let
和const
的存储方式有关,因为它们未附加到全局窗口对象。但是,我的理解是它们仍然处于“全局范围”内,但不限于全局对象。我相信“脚本”标签代表了这个想法,但是为什么选择名称“脚本”呢?
我检查了documentation,但是不幸的是,它没有提到“脚本”是什么。
这是我的示例的屏幕截图:
是否有人对使用的命名约定有任何见解?
最佳答案
因为可以在另一个脚本标签(包括外部脚本标签)中访问脚本作用域中的变量。
参见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
关于javascript - 范围内的“Script”类别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51709756/