如何在 devtool 的控制台中访问 'let' 变量?
How are 'let' variables accessed in devtool's console?
如果你打开 chrome devtool 并输入以下内容:
// The iife is irrelevant
let r = (() => { return 2; })();
然后计算 r
你会看到:
r
2
但是 window.r
和 globalThis.r
都是 return undefined
。我知道 let
是块范围的,但是 r
父对象在哪里?我在哪个块中,在我可以直接访问 r
但它不在任何全局对象上的 devtool 中?
抱歉,我正在使用 phone,所以无法真正验证。但我很确定开发工具中有一个 'scope' 选项卡。如果您正在调试,我很确定您可以在当前范围内看到变量。但它在普通控制台中不可用
https://developers.google.com/web/tools/chrome-devtools/javascript#scope
编辑,只是 re-read 你的问题,这并没有真正回答你的问题描述,但确实回答了你的问题标题。所以可能会在这里留下答案以备将来参考
代码在全局范围内评估 scope.Variable "let" 全局声明(在任何函数之外)具有全局范围。
如果你打开 chrome devtool 并输入以下内容:
// The iife is irrelevant
let r = (() => { return 2; })();
然后计算 r
你会看到:
r
2
但是 window.r
和 globalThis.r
都是 return undefined
。我知道 let
是块范围的,但是 r
父对象在哪里?我在哪个块中,在我可以直接访问 r
但它不在任何全局对象上的 devtool 中?
抱歉,我正在使用 phone,所以无法真正验证。但我很确定开发工具中有一个 'scope' 选项卡。如果您正在调试,我很确定您可以在当前范围内看到变量。但它在普通控制台中不可用
https://developers.google.com/web/tools/chrome-devtools/javascript#scope
编辑,只是 re-read 你的问题,这并没有真正回答你的问题描述,但确实回答了你的问题标题。所以可能会在这里留下答案以备将来参考
代码在全局范围内评估 scope.Variable "let" 全局声明(在任何函数之外)具有全局范围。