如何使用alert()在JavaScript中查看数组结构?
如何使用alert()
在JavaScript中查看数组的结构?
alert(arrayObj.join('\n'))
是一个非常基本的方法,它将在一行中显示每个数组元素。
编辑: Firefox和谷歌浏览器现在有一个内置的JSON
对象,所以你可以只说alert(JSON.stringify(myArray))
而不需要使用jQuery插件。 这不是Javascript语言规范的一部分,所以你不应该依赖所有浏览器中存在的JSON
对象,但是为了debugging的目的,它是非常有用的。
我倾向于使用jQuery-json插件 ,如下所示:
alert( $.toJSON(myArray) );
这将以类似的格式打印数组
[5, 6, 7, 11]
但是,为了debugging你的Javascript代码,我强烈build议Firebug它实际上带有一个Javascript控制台,所以你可以input任何页面的Javascript代码并查看结果。 像数组这样的东西已经以上面使用的可读forms打印了。
Firebug还有一个debugging器,以及帮助您查看和debuggingHTML和CSS的屏幕。
将你的js数组传递给下面的函数,它将和php的print_r()函数一样
alert(print_r(your array)); //call it like this function print_r(arr,level) { var dumped_text = ""; if(!level) level = 0; //The padding given at the beginning of the line. var level_padding = ""; for(var j=0;j<level+1;j++) level_padding += " "; if(typeof(arr) == 'object') { //Array/Hashes/Objects for(var item in arr) { var value = arr[item]; if(typeof(value) == 'object') { //If it is an array, dumped_text += level_padding + "'" + item + "' ...\n"; dumped_text += print_r(value,level+1); } else { dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n"; } } } else { //Stings/Chars/Numbers etc. dumped_text = "===>"+arr+"<===("+typeof(arr)+")"; } return dumped_text; }
你可以使用alert(arrayObj.toSource());
我build议使用toString()。
防爆。 alert(array.toString())
或console.log(array.toString())
如果这是出于debugging目的,我build议你使用一个JavaScriptdebugging器,如Firebug 。 它可以让你查看数组的全部内容,包括修改数组条目和单步执行代码。
如果你想要显示一个alert()对象数组的内容,我build议你在对象中定义方法toString(),所以用一个简单的警报(MyArray); 数组的全部内容将显示在警报中。
这里是一个例子:
//------------------------------------------------------------------- // Defininf the Point object function Point(CoordenadaX, CoordenadaY) { // Sets the point coordinates depending on the parameters defined switch (arguments.length) { case 0: this.x = null; this.y = null; break; case 1: this.x = CoordenadaX; this.y = null; break; case 2: this.x = CoordenadaX; this.y = CoordenadaY; break; } // This adds the toString Method to the point object so the // point can be printed using alert(); this.toString = function() { return " (" + this.x + "," + this.y + ") "; }; }
那么如果你有一个点的数组:
var MyArray = []; MyArray.push ( new Point(5,6) ); MyArray.push ( new Point(7,9) );
您可以打印简单的电话:
alert(MyArray);
希望这可以帮助!
你可以写一个函数来转换和格式化这个数组作为string。 甚至更好:使用FireBug进行debugging,而不是警报。
更好地使用Firebug(镀铬控制台等)并使用console.dir()
alert($("#form_id").serialize());