如何在Chrome调试器中检查JavaScript函数返回值?

Joh*_*man 49 javascript google-chrome google-chrome-devtools

来自gdb,它会在完成时打印函数的返回值.有没有办法从Chrome调试器获取此信息而不更改正在调试的源?

klm*_*klm 27

对此的修复是在2013年11月5日实施的,但显然只是在我写这篇文章时才发布在Chrome Canary中.(我在33.0.1719.0中看到它,但在Chrome Beta版32.0.1700.19测试版中没有看到它.)

如果您正在运行的版本具有它,那么当您单步执行return语句时,调试器的Scope VariablesLocal范围包含一个<return>带有值的条目.

(我需要使用Canary进行主要调试,但在<return>看到问题中引用的通知之前没有注意到条目的存在!)

  • 是否有可用的变量名称,以便我们可以在控制台中打印出来?谢谢 (5认同)
  • @nXqd 是的,有办法。作为[这个答案](/sf/answers/2994013431/)到“[是否可以在chrome调试器中操作返回值?](/sf/ask/2317591951/ 578288)”解释说,您可以在本地范围内右键单击“*返回值*”并选择“存储为全局变量”。 (4认同)

moo*_*oom 9

我正在使用Chrome版本57.0.2987.98 beta(64位),它就在那里,非常好.这是一个截图:

在此输入图像描述


小智 6

我的Chrome版本是41.0.2272.118米.这是为什么你应该在一个单独的行上放置复杂的return语句的一个很好的理由.如果在返回后的任何行上添加断点,Chrome将在断点为"Sources"面板的"Scope Variables"窗格的"Local"节点下添加(在此示例中)"<return>:true"叶.击中.

function bar() {
   return true;
}    
(function foo() {
   return bar();
})(); // Place breakpoint here
Run Code Online (Sandbox Code Playgroud)