如何在 chrome 控制台中访问局部函数变量?
Posted
技术标签:
【中文标题】如何在 chrome 控制台中访问局部函数变量?【英文标题】:How to access local function variable in chrome console? 【发布时间】:2021-02-28 16:35:51 【问题描述】:var MyFunc =
MyFunc ||
(function (u, p) ....)
如果这段代码在一个名为abc.js
的文件中,并且该网站有多个JS文件,我如何在chrome的控制台中打印变量u
?
我试过console.log(u)
、console.log(MyFunc.u)
都不起作用。
【问题讨论】:
这没有多大意义。u
是函数的参数。它仅在函数执行时存在,即使如此,它的值也取决于您传递给MyFunc
的参数。当我打电话给MyFunc(1); MyFunc(2); MyFunc(3);
时,你希望它是什么? u
有 3 个不同的值。
值无关紧要,我只想在控制台中打印值。我想在实时网站上进行。
只要调试器在该函数表达式中暂停,console.log(u)
(或在控制台本身中简称为u
)应该会向您显示该值。
【参考方案1】:
如果我理解正确,您可以这样做:
var MyFunc =
MyFunc ||
(function (u, p)
console.log(u);
console.log(p);
);
MyFunc(1, 2);
当您运行上述代码时,它会将匿名函数分配给 MyFunc,然后您需要通过传递参数来调用该函数定义。
【讨论】:
如何在实时网站上做到这一点?我在调试器中暂停了程序,编辑了文件,按 ctrl+s 并恢复,但控制台中仍然没有打印任何内容。 @WilfredAlmeida 既然已经可以在调试器中检查值,为什么还需要打印这些值? @Ivar 我找不到变量u
将其添加到手表中。
在实时网站上,您需要在 JS 文件中放置断点,并且一旦执行该代码,您可以根据需要将其添加到全局变量中,但是,如果您想打印值在控制台上,您应该使用控制台 API。
@WilfredAlmeida,“u”的值将基于传递给它的参数,您应该添加断点,当您在该函数中时,您可以在控制台中输入“u”并且该值将被打印出来。以上是关于如何在 chrome 控制台中访问局部函数变量?的主要内容,如果未能解决你的问题,请参考以下文章