簡體   English   中英

為什么我得到未定義的輸出Javascript?

[英]Why am I getting undefined output Javascript?

在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 = '';

因為您通過執行此操作來初始化null / undefined變量: var arrayString;

您可以通過執行以下操作來修復它: var arrayString = "";

更好的for ,您可以使用以下方法for代替使用for循環:

var myArray=["Ms.Vickies", "Old Dutch", "Lays"];
document.getElementById("arrayString").innerHTML = myArray.join(" ");

更多信息: http : //www.w3schools.com/jsref/jsref_join.asp

在代碼中,您剛剛聲明了但未初始化。因此,只需替換

  var arrayString;

 var arrayString = '';

希望對您有幫助...謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM