我想做一个可以在调试中使用的函数,用它们的值打印所有变量。这将提醒:
X = 3
Y = 2打印所有变量?
职能是这样的:
例:
var text='';
for(var a=0;a<allVariables;a++)
{
text+=nameOfVariable + " = " + valueOfVariable + "/n";
}
alert(text);
我想做一个可以在调试中使用的函数,用它们的值打印所有变量。这将提醒:
X = 3
Y = 2打印所有变量?
职能是这样的:
例:
var text='';
for(var a=0;a<allVariables;a++)
{
text+=nameOfVariable + " = " + valueOfVariable + "/n";
}
alert(text);
你应该使用控制台方法,这是最好的调试。所有现代浏览器都有控制台,并且您可以使用更好的调试工具,如firefox中的firebug。然后一个简单的console.log(allVariables)
,它全部显示在控制台中。
是的,但我如何填写所有变量? – user1342369 2012-04-19 17:15:42
你是说,页面的所有变量?它们全部存储在webbrowsers的'window'对象和node.js的'global'对象中。所以你只需要做'console.log(window)'来查看所有声明的变量。否则,你可以声明allVariables:'allVariables = {x:3,y:2}; console.log(allVariables);' – Tronix117 2012-04-19 17:18:35
如果您使用全局任何东西,则很难确定“所有变量”是什么。默认情况下,全局变量全部属于window
范围。因此,您可以循环使用window
中的所有值,但这会给您以及其他所有。
如果您将所有内容放入命名空间中,您可以更清楚地了解它。
var MyVariables = {
};
MyVariables.foo = 1;
MyVaraibles.hello = 'world';
for(var name in MyVariables){
console.log(name, MyVariables[name]);
}
另请参阅浏览器上提供的开发工具。我个人会在FireFox中推荐Chrome开发工具(内建,F12)或FireBug。 IE也有一些内置的功能。
如何访问该窗口范围(我可以做一个正则表达式只有变量) – user1342369 2012-04-19 17:49:46
@ user1342369它只是'window'。例如'window.foo' – Matt 2012-04-19 17:54:41
这可能会做你要找的内容:调试
console.dir(window);
使用的console.log。 – malletjo 2012-04-19 17:11:17
除了console.log,我强烈建议使用可用于浏览器的开发工具。 Chrome有一个内置的(F12),并且FireFox有FireBug扩展/插件 – Matt 2012-04-19 17:12:12
@racar你可能想知道你的浏览器正在使用什么,然后再建议你。另外,为什么不使用警报,如果这是你喜欢的? – Madbreaks 2012-04-19 17:28:42