在JavaScript中,如果在两个字符串之间添加了多个空格,为什么在代码执行期间会将它们转换为单个空格?
在学习JavaScript时,我遇到了一个问题。在两个字符串之间添加多个空格时,所有空格都会转换为单个空格。我试图在连接运算符(+)的帮助下在两个字符串之间添加多个空格。此外,我尝试在第一个字符串之后和第二个字符串之前添加多个空格,但每次都得到相同的结果。两个字符串之间只有一个空格 我搜索了原因,但每个人都在告诉如何通过JavaScript中的正则表达式和字符串替换函数来克服这个问题。我想知道这个问题的根本原因 我也知道PHP。在PHP中,这种情况不会发生,PHP字符串的行为符合开发人员的预期。无论我在字符串之前或之后添加了多少空格,为什么不在JavaScript中添加呢 有人请给我解释一下这种情况下PHP和JavaScript之间的原因和区别 我尝试了以下表达:在JavaScript中,如果在两个字符串之间添加了多个空格,为什么在代码执行期间会将它们转换为单个空格?,javascript,php,string,whitespace,string-concatenation,Javascript,Php,String,Whitespace,String Concatenation,在学习JavaScript时,我遇到了一个问题。在两个字符串之间添加多个空格时,所有空格都会转换为单个空格。我试图在连接运算符(+)的帮助下在两个字符串之间添加多个空格。此外,我尝试在第一个字符串之后和第二个字符串之前添加多个空格,但每次都得到相同的结果。两个字符串之间只有一个空格 我搜索了原因,但每个人都在告诉如何通过JavaScript中的正则表达式和字符串替换函数来克服这个问题。我想知道这个问题的根本原因 我也知道PHP。在PHP中,这种情况不会发生,PHP字符串的行为符合开发人员的预期。
"John" + " " + "Doe";
"John " + " " + " Doe";
"John" + " " + " Doe";
"John Doe";
我每次得到的输出是:
johndoe
原因不是JavaScript,而是HTML。该标准规定,任何数量的空白(空格、换行符等)都会缩减为单个空格
如果要防止这种行为,请使用
原因不是JavaScript,而是HTML。该标准规定,任何数量的空白(空格、换行符等)都会缩减为单个空格
如果要防止此行为,请使用
此代码不会显示此行为!我想缺少的部分是你正在输出到HTML…?如果是这样的话,那么PHP实际上也会这样做……因为它根本不是PHP(或JavaScript)做的,它们会输出多个空格。因为HTML就是这样定义的,所以只能呈现一个空格。我现在不能回答这个问题,但是你应该提到下一步你在用字符串做什么。如果它进入HTML,那么空间确实会崩溃。有两种选择:要么使用
,或者更好的是,使用一些CSS完成作业,将空白
属性设置为pre
。此代码不会显示该行为!我想缺少的部分是你正在输出到HTML…?如果是这样的话,那么PHP实际上也会这样做……因为它根本不是PHP(或JavaScript)做的,它们会输出多个空格。因为HTML就是这样定义的,所以只能呈现一个空格。我现在不能回答这个问题,但是你应该提到下一步你在用字符串做什么。如果它进入HTML,那么空间确实会崩溃。有两种选择:要么使用
,或者更好的是,使用一些CSS完成作业,将空白
属性设置为pre
。