简体   繁体   English

为什么我得到未定义的输出Javascript?

[英]Why am I getting undefined output Javascript?

I keep getting undefined before my output text in JS. 在JS中输出文本之前,我一直处于未定义状态。 Here is my code. 这是我的代码。

<!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>

This is my JS 这是我的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;

my output is undefinedMs.VickiesOld DutchLays 我的输出undefinedMs.VickiesOld DutchLays

In addition why no spaces? 另外为什么没有空格? I am new to JS but am working my way up. 我是JS的新手,但我正在努力。 Cannot figure this out. 无法解决这个问题。

It's because in your first loop iteration, arrayString is undefined. 这是因为在您的第一次循环迭代中, arrayString是未定义的。 Set it equal to an empty string instead. 将其设置为等于空字符串。

Instead of declaring arrayString like so: 而不是像这样声明arrayString

var arrayString;

Initialize it with an empty string: 用空字符串初始化它:

var arrayString = '';

Because you are initiating a null/undefined variable by doing this: var arrayString; 因为您通过执行此操作来初始化null / undefined变量: var arrayString;

You can fix it by doing this: var arrayString = ""; 您可以通过执行以下操作来修复它: var arrayString = "";

Better yet, instead of using a for loop, you can do it like this: 更好的for ,您可以使用以下方法for代替使用for循环:

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

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

In code ,you have just declared,not initialized.so,just replace 在代码中,您刚刚声明了但未初始化。因此,只需替换

  var arrayString;

with

 var arrayString = '';

Hope it helps...Thank you. 希望对您有帮助...谢谢。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM