【发布时间】:2014-04-04 03:02:32
【问题描述】:
我是 Web 开发的原始 JavaScript 方面的新手,所以我决定学习。我知道编程的基础知识,但我遇到了一些我似乎无法解决的问题。在 JavaScript 中玩数组时,我想创建一个函数来打印所有内容,所以我创建了这样的东西。
<!DOCTYPE html>
<html>
<head>
<title> Learning JavaScript </title>
<script>
var names = new Array("Connor <br />", "Shane <br />", "Ty <br />", "Brandon <br />");
function printArray (){
for(x=0; x < names.length; x++)
document.write(names[x]);
}
</script>
</head>
<body>
<script>
document.write(printArray());
</script>
</body>
</html>
它会打印出名称,但在名称之后还有另一段名为“未定义”的文本。看起来像这样。
Connor
Shane
Ty
Brandon
undefined
我已经厌倦了在 for 循环中围绕一堆移动条件而无处可去。我认为对我来说,理解为什么存在“未定义”以及在我实际做一个项目时如何在未来避免这些情况会很棒。任何帮助都会很棒。谢谢:)
【问题讨论】:
-
undefined位是调用printArray时返回的值。将document.write(printArray());行替换为printArray(); -
另外,避免
document.write -
您的代码中有 2x
document.write,第一个(在您的函数中)执行写入操作,而另一个执行写入操作:1:执行(printArray())和write.... 好吧... undefined 导致什么都写不出来。
标签: javascript arrays loops for-loop