gpt4 book ai didi

google-chrome - 在控制台中访问闭包变量

转载 作者:行者123 更新时间:2023-12-04 02:29:03 25 4
gpt4 key购买 nike

鉴于此代码

function foo()
{
var x = 1;

function bar()
{
debugger;
return x + 1;
}

return bar();
}

当我打开谷歌浏览器的控制台和 foo()被执行,控制台停在 debugger线。如果我在控制台中输入“x”,我会得到 未捕获的 ReferenceError:x 未定义 .

如果我想访问 x在控制台中,我有两个选择:
  • 在 Source 下转到 Scope,打开 Closure,右键单击 x并单击存储为全局变量。这将创建一个全局变量 temp1我可以通过它访问 x .
  • 编辑 bar
    function var()
    {
    x;
    debugger;
    return x + 1;
    }

  • 我注意到当你输入 debugger 时并且代码在某个时候访问了一个范围变量,然后我可以在控制台中访问它。

    我发现了其他主题 like this one或多或少问同样的问题。有没有更好的方法来访问闭包变量?

    顺便说一句,我使用 Version 59.0.3071.104 (Official Build) (64-bit)对于 Debian 8。

    最佳答案

    相信您已经在other thread中得到了答案。你提到的。 @OwnageIsMagic 说这是因为 V8 优化。如果您单击调用堆栈中的函数名称,那么该变量就可以访问了。

    关于google-chrome - 在控制台中访问闭包变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44634297/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com