从Javascript控制台访问jsFiddle中的变量?

时间:2013-01-14 23:55:33

标签: javascript firebug google-chrome-devtools jsfiddle

我使用以下代码创建了fiddle

var x=10;

当我尝试在控制台中查看时,我得到以下内容:

> x
ReferenceError: x is not defined

有道理,因为它需要Javascript来运行控制台。有没有办法让这个工作?

2 个答案:

答案 0 :(得分:68)

如果您使用Chrome或Chromium,请查看显示字符串<top frame>的开发者控制台底部。单击它并选择result(fiddle.jshell.net)。这将更改浏览器的当前范围,您可以访问所有全局变量。另外,如果您想要访问no wrap变量,请记得将jsFiddle中的加载选项更改为var

Screenshot Chrome

更新时间:2014.12.01

使用Firefox(34+)和新的Firefox Developer Edition,可以通过在开发人员工具中启用选择一个框架作为当前目标文档额外工具来执行相同操作,然后单击然后选择http://fiddle.jshell.net/_display/

Screenshot Firefox

答案 1 :(得分:5)

控制台就像它自己的闭包this === window:你只看到控制台中定义的变量(每个命令/脚本)。

因此,您有两种方法可以在控制台中显示可见的数据:

  1. var x = 5; console.log(x); // out of your code, not as console command
  2. window.x = 5; // now x is global, so in console you get 5 for x.
  3. 您可以使用调试器,而不是纯控制台命令。在firebug和chrome的开发工具中,您可以设置断点,刷新页面(在jsFiddle中应该运行这样做),现在您可以在范围内查看变量的实际值。 (您需要重新加载页面一次,将代码放入调试器,然后下次重新加载,您将在document.ready事件中获得断点。)