今天看代码看到了document.writeln()的输出方式,虽然此方法用的比较少,我还是进一步了解了一下。
首先write()和writeln()的区别:两者都是JavaScript向客户端输出的方法,对比可知写法上的差别是一个ln–line的简写,相当于在write输出后加上一个换行符,换言之,writeln 方法是以行输出的——输出后会自动换行。
接下来,敲个代码试试,那么问题来了:
<script>
for(var i=0;i<5;i++){
document.writeln("野生技术猫hellow");
}
</script>
运行结果:并没有出现换行,而是空格的效果。
具体分析:document。writeln()只是在写入html时增加换行,而并非显示增加换行样式。在浏览器中处理文本时,回车符"\n"并不作为实际换行符展示给用户。因此writeln()并不能输出换行的普通文本。
解决方法:用write()或用writeln()实现换行要搭配< pre >或< br/ >标签。
<script>
//验证
document.write("<pre>");
document.writeln("hello");
document.writeln("world");
document.write("</pre>");
</script>
<script>
document.writeln("<pre>hello");
document.writeln("world</pre>");
</script>
<script>
document.write("hello<br/>");
document.write("world<br/>");
</script>
注意:输出的字体也不同。原因在于< pre >标签。pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。其一个常见应用就是用来表示计算机的源代码。