var a = Object();
//等价于var a = {}
var b = new Object();
//等价于var b = {}
var c = Object({name : 'c'});
//将参数实例化
a.name = 'a';
b.name = 'b';
//将参数对象转换为字符串
document.write('<pre>a: ', JSON.stringify(a, null, ' '), '</pre>');
document.write('<pre>b: ', JSON.stringify(b, null), '</pre>');
document.write('<pre>c: ', JSON.stringify(c, ''), '</pre>');
为什么加了null,空格以及pre标签后才会分行,不加这三就不会分行,这是为什么
document.write写入的是html文本,你JSON.stringify(a, null, ' ')是将对象格式化为字符串然后写到页面上,没有用html标签进行包含,html渲染时是当做文本进行渲染的,
标签:https://www.runoob.com/tags/tag-pre.html,你用div、p、br>等都能实现同样的效果,不是js问题,是组合后的html问题。
以下代码能实现同样效果:var a = Object(); //等价于var a = {} var b = new Object(); //等价于var b = {} var c = Object({name : 'c'}); //将参数实例化 a.name = 'a'; b.name = 'b'; //将参数对象转换为字符串 document.write('br换行:'); document.write('a: '+ JSON.stringify(a)+"<br/>"); document.write('b: '+ JSON.stringify(b)+"<br/>"); document.write('c: '+ JSON.stringify(c)+"<br/>"); //将参数对象转换为字符串 document.write('p块级元素:'); document.write('<p>a: '+ JSON.stringify(a)+"</p>"); document.write('<p>b: '+ JSON.stringify(b)+"</p>"); document.write('<p>c: '+ JSON.stringify(c)+"</p>"); //将参数对象转换为字符串 document.write('div块级元素:'); document.write('<div>a: '+ JSON.stringify(a)+"</div>"); document.write('<div>b: '+ JSON.stringify(b)+"</div>"); document.write('<div>c: '+ JSON.stringify(c)+"</div>");
结果:
你好,导致你打印出来是这个的原因是因为你数据没有做处理,你可以尝试用一下JSON.stringify()方法,有问题滴滴我
加null没啥作用,主要为了加第三个参数空格,这时json内容会换行,但是如果显示在body中是不会换行的,此时需要加pre标签,被包围在 pre 元素中的文本会保留空格和换行符