33

我用以下代码创建了一个小提琴:

var x=10;

当我尝试在控制台中查看它时,我得到以下信息:

> x
ReferenceError: x is not defined

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

4

2 回答 2

69

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

屏幕截图 Chrome

更新:2014.12.01

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

截图火狐

于 2013-01-15T00:06:22.423 回答
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.

您可以使用调试器代替纯控制台命令。在 firebug 和 chrome 的开发工具中,您可以设置断点,刷新页面(在 jsFiddle 中应该运行执行此操作),现在您可以在范围内查看变量的实际值。(您需要重新加载页面一次,将代码放入调试器,然后在下一次重新加载时在 document.ready 事件中获得断点。)

于 2013-01-15T00:03:02.283 回答