我想做一個可以在調試中使用的函數,用它們的值打印所有變量。這將提醒:
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