是否有任何微观原因(超迷信),在{X} HTML文档中</html>
之后添加额外的回报?
有没有重要的理由,不要停止我的这种习惯? (对我来说,它看起来更干净,最后一行代码与最后一行代码相同,但我很想知道在保持或不保留额外回报之间是否存在任何已知后果/可能影响,例如作为最后一行没有被解释或类似的东西。)
答案 0 :(得分:13)
这只是迷信。如果我没记错的话,如果你没有额外的换行符,早期的IE版本之一(2或3)会抛出一个错误,但我认为这已经很长时间了。
答案 1 :(得分:2)
一个原因是因为一些延迟编程的解析器被编程为使用换行或回车换行一次读取一行,如果数据流只是结束那么它要么赢了解析最后一行,否则它将失败。我经历过一些C编译器,如果最后一行不包含换行符,某些版本的Make会抱怨。显然这些不是HTML,但原因仍然存在。
出于这个原因,我总是在习惯中添加额外的换行符。
答案 2 :(得分:2)
您使用的是VCS吗?从历史上看,一些版本控制系统对文件末尾的缺失行结束抱怨;我相信这可能是由于差异和补丁(最初)对此有点挑剔。
不完全是迷信;也许我们可以把它归类为一个过时的城市传奇(很多人都在这个行业)。
答案 3 :(得分:2)
我总是用换行符结束文件。
有一段时间我有一个自动工具可以将目录中的所有JavaScript文件连接成一个文件(以保存HTTP请求)。如果文件没有以换行符结尾并且也没有以分号结尾,则会中断。 从那时起我就用换行结束了文件。
另外,如果你使用像bash这样的命令行shell,你cat
一个文件;新提示将出现在文件中的最后一个字符之后,如果这是换行符,它看起来要好得多。
答案 4 :(得分:1)
没有区别
答案 5 :(得分:1)
不像帕特里克说的那样无关紧要。如果需要,整个页面可以在一行上。
答案 6 :(得分:1)
有一件事是肯定的,没有现代知名的浏览器会关心。确实在HTML中,与XHTML相反,&lt; / html&gt;标签也是多余的。
然而,在你的第一句话中,你要求微观原因,我有一个。一些编辑(我认为记事本曾经是一个,我最近没有检查)会自动添加一个CR / LF保存在文件的最后一行,如果该行不为空,可能会修复诸如开发人员开发人员之类的问题描述。编辑DOS批处理文件时,这曾经是一个真正的烦恼,因为额外的行可能会对脚本终止的方式产生负面影响。
因此,如果您在一个不执行此操作的编辑器中创建HTML,并且您没有手动添加最终的CR / LF,那么稍后有人会在编辑器中打开该文件更改任何内容并保存,您会在搜索真实更改或版本控制日志时出现错误的差异。
在你的第二句中,你提出了重要的理由。这不是IMO的一个重要原因,我当然会为这种边缘情况而烦恼。
答案 7 :(得分:0)
我认为没有任何理由。也许没有返回,传输的数据更少,因此您可以节省流量。但我认为这根本不重要; - )