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

In JavaScript, if multiple spaces are added between two strings why they get converted to a single space during code execution?

在学习 JavaScript 的过程中,我遇到了一个问题。当我在两个字符串之间添加多个 space 时,所有 space 都会转换为单个 space。我试图借助连接运算符 (+) 在两个字符串之间添加多个 space。另外,我尝试在第一个字符串之后和第二个字符串之前添加多个白色 spaces,但每次我都得到相同的结果。两个字符串之间只有一个 space 分隔。

我搜索了原因,但每个人都在告诉如何借助 JavaScript 中的一些正则表达式和字符串替换函数来解决这个问题。我想要这个问题的根本原因。

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

谁能解释一下 PHP 和 JavaScript.

之间的原因和区别

我尝试了以下表达式:

"John" + "               "  + "Doe";

"John          " + "         "  + "      Doe";

"John" + "       "  + "          Doe";

"John                Doe";

我每次得到的输出是:John Doe

原因不是JavaScript,而是HTML。该标准表示,任何数量的白色spaces(spaces、换行符等...)都会减少到单个 space.

如果您想阻止这种行为,请使用