在JS中输出文本之前,我一直处于未定义状态。
这是我的代码。

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Learning javascript</title>
</head>
<body>

    <p id="arrayString"></p>



    <!-- Javascript -->
    <script type="text/javascript" src="JS/app2.js"></script>
</body>
</html>


这是我的JS

var arrayString;
var myArray=["Ms.Vickies", "Old Dutch", "Lays"];
for (var i=0; i<myArray.length; i++) {
    arrayString=arrayString+myArray[i];
}
document.getElementById("arrayString").innerHTML=arrayString;


我的输出是undefinedMs.VickiesOld DutchLays

另外为什么没有空格?我是JS的新手,但我正在努力。无法解决这个问题。

最佳答案

这是因为在您的第一次循环迭代中,arrayString是未定义的。将其设置为等于空字符串。

而不是像这样声明arrayString

var arrayString;


用空字符串初始化它:

var arrayString = '';

10-05 22:00