Javascript Arrays在数组项之前打印undefined

时间:2015-08-14 20:26:50

标签: javascript html arrays initialization undefined

我在javascript中打印一个简单的数组列表时遇到问题。 仅在两个数组项之前打印undefined。请考虑以下代码;

function buildList(){
    var box = document.getElementById("box");
	var startList  = "<ol>";
	var endList = "</ol>";
	var listItems;
      
        var arry = ["Go to shopping", "Go to Mall"];
  	for(var i = 0; i < arry.length; i++){
            listItems += "<li>" + arry[i] + "</li>";
	}

	box.innerHTML = startList + listItems + endList;
}
document.onLoad(buildList());``
          
<div id="box">
  
</div>

输出

未定义 1)去购物 2)去购物中心

请帮忙。

4 个答案:

答案 0 :(得分:6)

您的int key = cv::waitKey(30) & 255; // key is an integer here if (key == 27) break; // break when `esc' key is pressed 变量未定义,因为它未初始化。

listItem(第5行)应解决您的问题。

答案 1 :(得分:3)

您宣布var listItems; =&gt;未定义,您应该执行以下操作:var listItems = ""; =&gt;声明并初始化为空字符串。

答案 2 :(得分:2)

您必须初始化listItems。

var listItems =“”;

您现在正在做的是向listItems添加一个字符串,但您没有定义listItems。它不知道什么是listItem

答案 3 :(得分:0)

试试这个。 在您的代码中,您遗漏了var listItems="";

这是完整的代码

function buildList()
       {
	   var box = document.getElementById("box");
	   var startList  = "<ol>";
	   var endList = "</ol>";
	   var listItems="";

	   var arry = ["Go to shopping", "Go to Mall"];

	    for(var i = 0; i < arry.length; i++)
	    {
		listItems += "<li>" + arry[i] + "</li>";
	   }

	  box.innerHTML = startList + listItems + endList;
      }

       document.onLoad(buildList());``
          
<div id="box">
  
  </div>