相关疑难解决方法(0)

JavaScript闭包如何工作?

您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?

我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.

javascript variables closures scope function

7644
推荐指数
82
解决办法
139万
查看次数

如何在Google Chrome开发者工具中搜索范围变量?

我使用Google Chrome开发者工具在javascript函数中设置了断点.

我在函数的范围变量中寻找一个变量值为"Fred".如何在函数范围内的变量中搜索此值?

javascript google-chrome-devtools

18
推荐指数
2
解决办法
3万
查看次数

用于跟踪JavaScript内存泄漏的工具

我有一个Web应用程序在某处有内存泄漏,我无法检测到它.我已经尝试过通常运行良好的Chrome开发人员工具,但我无法追查负责的代码行.Chrome工具只是给了我太多的信息,我无法将内存中的对象与我的代码联系起来.

还有其他可能有用的工具吗?

javascript memory-leaks google-chrome-devtools

18
推荐指数
1
解决办法
1万
查看次数

通过 Chrome DevTools API 或面板以编程方式访问 [[Scopes]] (闭包变量)?(不在断点处)

2014 年, JS 代码无法从闭包外部访问闭包内部的变量。从那时起,Chrome 的内部结构已更改为使用[[Scopes]]而不是Closure.

\n\n

Chrome DevTools 现在(2018 年)可以以[[Scopes]]编程方式读取吗?如果是这样,是否有现有的 DevTools 扩展可以做到这一点?

\n\n

用例:检查使用 RequireJS 加载的 UMD 模块内的变量。我知道我可以使用面板在断点或语句处执行此操作,但希望即使不在断点处也能执行此操作。debuggerScopes

\n\n

编辑截至 2017 年,无法访问[[FunctionLocation]],但我不知道[[Scopes]]

\n\n

尝试

\n\n

我调查了以下内容但没有成功(模块工厂函数名称main):

\n\n
    \n
  • 此评论提到了console.dir(),但没有以编程方式访问 的输出console.dir()。我可以console.dir({main})手动使用然后扩展结果,但不能以编程方式。
  • \n
  • 从 DevTools 控制台,我可以使用inspect({function})per this。这让我更接近,但不是[[Scopes]]

    \n\n
    > var x = inspect({main})\n> x.main.name\n\xe2\x86\x90 "main"\n> x.main[Symbol(\'Scopes\')]\n\xe2\x86\x90 undefined\n> x.main[\'[[Scopes]]\']\n\xe2\x86\x90 …
    Run Code Online (Sandbox Code Playgroud)

javascript closures google-chrome inspect google-chrome-devtools

12
推荐指数
0
解决办法
3045
查看次数