gpt4 book ai didi

javascript - 如何从浏览器控制台访问存储在函数闭包中的javascript变量?

转载 作者:行者123 更新时间:2023-12-02 19:42:08 26 4
gpt4 key购买 nike

假设我有一个全局函数:

function Init()
{
var v = 10;
window.GlobalFunction = function()
{
// Global Function has access to v, because of closure
alert(v);
}
}

Init();

如何从 FireBug 控制台获取 v 的值?我可以在那里放置断点并查看值(value)。但这对我来说还不够。我想为第三方网站构建FireFox插件,所以我需要访问这个变量,但无法更改源代码。

最佳答案

如果v像你说的那样是一个全局变量,那么你应该能够在控制台输入v来获取它的值。

如果v不是全局变量,那么您只能从包含它的函数内访问它。 JavaScript 是一种函数作用域语言,var 关键字表示该变量只能在当前作用域内访问。如果您不想使用断点/调试器,如果您无法修改源代码,并且源代码没有变量的 getter 方法,那么您可能会运气不好。

尝试在这里发挥创意,您​​也许可以根据 Init 的原型(prototype)或包含它的任何对象创建一个对象(例如,使用 new关键字)并向您的对象版本添加 getter 函数。然后在您之前使用原始代码对象的任何地方使用新对象。

关于javascript - 如何从浏览器控制台访问存储在函数闭包中的javascript变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272043/

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