我在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)去购物中心
请帮忙。
答案 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>