Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中,如果在两个字符串之间添加了多个空格,为什么在代码执行期间会将它们转换为单个空格?_Javascript_Php_String_Whitespace_String Concatenation - Fatal编程技术网

在JavaScript中,如果在两个字符串之间添加了多个空格,为什么在代码执行期间会将它们转换为单个空格?

在JavaScript中,如果在两个字符串之间添加了多个空格,为什么在代码执行期间会将它们转换为单个空格?,javascript,php,string,whitespace,string-concatenation,Javascript,Php,String,Whitespace,String Concatenation,在学习JavaScript时,我遇到了一个问题。在两个字符串之间添加多个空格时,所有空格都会转换为单个空格。我试图在连接运算符(+)的帮助下在两个字符串之间添加多个空格。此外,我尝试在第一个字符串之后和第二个字符串之前添加多个空格,但每次都得到相同的结果。两个字符串之间只有一个空格 我搜索了原因,但每个人都在告诉如何通过JavaScript中的正则表达式和字符串替换函数来克服这个问题。我想知道这个问题的根本原因 我也知道PHP。在PHP中,这种情况不会发生,PHP字符串的行为符合开发人员的预期。

在学习JavaScript时,我遇到了一个问题。在两个字符串之间添加多个空格时,所有空格都会转换为单个空格。我试图在连接运算符(+)的帮助下在两个字符串之间添加多个空格。此外,我尝试在第一个字符串之后和第二个字符串之前添加多个空格,但每次都得到相同的结果。两个字符串之间只有一个空格

我搜索了原因,但每个人都在告诉如何通过JavaScript中的正则表达式和字符串替换函数来克服这个问题。我想知道这个问题的根本原因

我也知道PHP。在PHP中,这种情况不会发生,PHP字符串的行为符合开发人员的预期。无论我在字符串之前或之后添加了多少空格,为什么不在JavaScript中添加呢

有人请给我解释一下这种情况下PHP和JavaScript之间的原因和区别

我尝试了以下表达:

"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