如何以字符串格式显示JavaScript对象的内容,就像我们警告变量时一样?
与显示对象的格式相同。
如何以字符串格式显示JavaScript对象的内容,就像我们警告变量时一样?
与显示对象的格式相同。
当前回答
我更喜欢使用console.table来获得清晰的对象格式,所以假设您有这个对象:
const obj = {name: 'Alireza', family: 'Dezfoolian', gender: 'male', netWorth: "$0"};
您将看到一张整洁易读的表格,如下所示:
其他回答
看起来很简单。。。in无法解决这个问题,特别是当我们想要处理自定义、主机、本机或CSCOM对象之外的问题时。此外,我们正在讨论调试,谁知道我们何时何地需要它!
我的小型库可以处理以下对象:
obj2
|__ foo = 'bar'
|__ loop2 = obj2
| :
|__ another = obj1
|__ a1 = 1
|__ b1 = 'baz'
|__ loop1 = obj1
| :
|__ c1 = true
|__ d1 = ''
|__ e1 = [1,2,3]
并呈现出丰富多彩的标识,如:
0,foo,'bar'0,loop2,'包含对索引0'0处的对象的循环引用,另一个,'object'1,a1,11,b1,'baz'1,loop1,'包含索引2'1,c1,'true'1,d1,''1,e1,[1,2]处的对象循环引用
但请看这里:
https://github.com/centurianii/jsdebughttp://jsfiddle.net/centurianii/92Cmk/36/
通过一些预防措施,甚至可以解析document.body!
如果要使用alert打印对象,可以执行以下操作:
alert(“myObject是”+myObject.toSource());
它应该以字符串格式打印每个属性及其对应的值。
var output = '';
for (var property in object) {
output += property + ': ' + object[property]+'; ';
}
alert(output);
Javascript函数
<script type="text/javascript">
function print_r(theObj){
if(theObj.constructor == Array || theObj.constructor == Object){
document.write("<ul>")
for(var p in theObj){
if(theObj[p].constructor == Array || theObj[p].constructor == Object){
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
document.write("<ul>")
print_r(theObj[p]);
document.write("</ul>")
} else {
document.write("<li>["+p+"] => "+theObj[p]+"</li>");
}
}
document.write("</ul>")
}
}
</script>
正在打印对象
<script type="text/javascript">
print_r(JAVACRIPT_ARRAY_OR_OBJECT);
</script>
通过Javascript中的print_r
var list = function(object) {
for(var key in object) {
console.log(key);
}
}
其中object是您的对象
或者您可以在chrome开发工具的“控制台”选项卡中使用此选项:
console.log(对象);