Javascript 为什么IE将标签解释为8个空格和记事本++;解释为4个空格

Javascript 为什么IE将标签解释为8个空格和记事本++;解释为4个空格,javascript,text,Javascript,Text,IE将制表符解释为8个空格。记事本++将其解释为4个空格 这使得我的代码看起来很混乱,现在我必须修复它 我认为标签应该是通用长度。这是通过文本编码设置的 选项卡的存储方式是否相同,只是解释方式不同?是的。如果您想要一致性,只需使用4个空格而不是制表符。制表符是有害的。大多数语言中常见的最佳实践是将制表符转换为空格 原因是,正如您所注意到的,选项卡不是一个标准。然而,空格是。制表符只不过是内存中的一个字符。渲染方式取决于编辑器/查看器/etc,通常可以在应用程序中将宽度配置为设置 因此,最好使用空

IE将制表符解释为8个空格。记事本++将其解释为4个空格

这使得我的代码看起来很混乱,现在我必须修复它

我认为标签应该是通用长度。这是通过文本编码设置的


选项卡的存储方式是否相同,只是解释方式不同?

是的。如果您想要一致性,只需使用4个空格而不是制表符。

制表符是有害的。大多数语言中常见的最佳实践是将制表符转换为空格


原因是,正如您所注意到的,选项卡不是一个标准。然而,空格是。制表符只不过是内存中的一个字符。渲染方式取决于编辑器/查看器/etc,通常可以在应用程序中将宽度配置为设置

因此,最好使用空格,这样每个人都能看到相同的东西。

在第16.6.1节第二段第2项中,在8个空格处指定制表符:

制表位出现在8倍于屏幕宽度的点上 从块的起始位置开始以块的字体呈现的空间(U+0020) 内容边缘


制表符是邪恶的,因为没有通用的标准,许多空格等于一个制表符。 对于当前的问题,您可以根据需要调整Notepad++中的设置


在记事本++中的设置菜单->首选项->(选项卡)语言菜单/选项卡设置

选项卡由打开文件的程序解释。在记事本++中,你甚至可以设置一个标签应该有多少空格。。所以:no.tab只是ascii字符9。每个程序都可以决定如何处理这个问题。(通常是决策者的决定)。他们不是邪恶的,他们只是可怜的被误解的灵魂。:-)一个选项卡让源代码的读取器决定它被识别了多少,而固定数量的空格则没有。标签是一种语义学,而不是表达。标签与空间的辩论在我看来就像宗教与无神论的辩论一样富有成效!这就是我的笑话!这绝对不是我们想深入探讨的问题,尤其是在评论方面标签涉及个人偏好,偏好通常涉及主观意见。附言:我没有投反对票,我今天连其他票都没有!我已经筋疲力尽了,我的观点正好相反。选项卡允许查看者确定他们认为适合自己的确切间距。当我处理个人文件/项目时,我更喜欢键入一个选项卡,而不是4个空格。但由于并非所有软件都允许您配置“tabs=X空间”,如果需要共享文件,我更喜欢使用空间