Javascript高级console.log

时间:2014-10-18 19:45:15

标签: javascript php arrays

假设我有这样的JS代码:

var foo = new Array('foo', 'bar'); var bar = new Array(); bar.push(foo); console.log(bar);

控制台日志只给我:

Array [ Array[2] ]

我正在寻找获得真正登录控制台的方法。在这种情况下,数组包含子数组等。与PHP类似的东西:

echo '<pre>' . print_r($bar, TRUE);

3 个答案:

答案 0 :(得分:1)

使用dir代替log。它提供了一个交互式视图。

答案 1 :(得分:0)

Chrome / Opera / Firefox都允许通过console.log()进一步检查数组。

尝试使用Firebug以获得额外的调试功能。

答案 2 :(得分:0)

如果您使用browser supports,则还可以使用JSON.stringify()功能。最好用一个例子来解释:

var a = [ 
  "123", 
  { "foo": "bar" }, 
  [ "inner", "array", [ "inner-inner", "array-array" ] ] 
];
console.log( JSON.stringify(a) );
// "["123",{"foo":"bar"},["inner","array",["inner-inner","array-array"]]]"

该函数基本上将对象转换为JSON字符串格式,允许您以平面,类似字符串的格式查看每个对象/数组及其所有子元素。

请记住,只有当您尝试查看的对象仅包含简单类型的数据时,此方法才有效...对象中的函数定义和更复杂的内置对象,例如window或{ {1}}不会产生有用的信息。