gpt4 book ai didi

javascript - 使用 Chrome DevTools 控制台以编程方式访问功能范围

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:44 26 4
gpt4 key购买 nike

当我打开 Chrome (v35) DevTools 并检查对象时,控制台可以向我显示嵌套在函数中的内容,包括标记为“函数范围”的内容。

例如,在查看 stackoverflow.com 时,我可以看到有一个全局 $ 对象包含另一个名为 Callbacks 的函数。 Callbacks$ 一样,具有包含 ClosureGlobal 的功能范围。

screenshot of Chrome DevTools console

  • 问题 1:直接嵌套在函数中的命名对象与函数范围内包含在闭包中的对象有什么区别?
  • 问题 2:如何以编程方式在控制台中引用函数作用域? window.$.Callbacks.???? chrome.function???(window.$.Callbacks)

我问的原因是因为我正在寻找内存泄漏,并且想根据对象类型和属性名称搜索函数闭包中保存的对象。

最佳答案

What is the difference between some named object nested directly within a function and some object contained within a Closure in its function scope?

与函数直接嵌套的对象是函数对象的一个​​属性。例如,$.Callback 有一个值为 1.length 属性,它确实有一个 .prototype 属性,它确实从 Function.prototype 等继承 (__proto__)

作用域中的对象是一个变量,可以从函数周围的作用域访问它。参见 How do JavaScript closures work?

How do I programmatically reference a function scope in the console?

你不能。范围不能以编程方式访问。我认为 devtools 也没有任何助手来允许这样做。另见 How do I search through scope variables in Google Chrome Developer Tools?

关于javascript - 使用 Chrome DevTools 控制台以编程方式访问功能范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672346/

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