打印数组项时显示 "undefined"
An "undefined" showed when printing items of an array
我创建了一个 Javascript 代码来显示项目列表,如下所示,但在有序列表之前显示了意外的 undefined
。我不知道它在那里是如何显示的。
这段代码中是否有未定义或错误插入的变量?
Demo is also on JSBIN. (And here 是编写具有相同目标的代码的另一种更好的方法。)
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
message += "<ol>";
for (var i=0; i<playList.length; i+=1) {
message += "<li>" + playList[i]+"</li>";
}
message += "</ol>";
document.write(message);
}
print();
由于您没有将任何内容作为参数传递给 print()
,因此 message
默认为 undefined
。
你可以使用OR ||
将message
的值设置为空字符串,当它没有被传递给函数时。
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
message = message || ''; // If no message is passed, use empty string
message += "<ol>"; // Removed + from here
for (var i = 0; i < playList.length; i += 1) {
message += "<li>" + playList[i] + "</li>";
}
message += "</ol>";
document.write(message);
}
print();
您还可以缩短代码如下:
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
document.write((message || '') + '<ol><li>' + playList.join('</li><li>') + '</li></ol>');
}
print();
ol {
color: green;
}
我创建了一个 Javascript 代码来显示项目列表,如下所示,但在有序列表之前显示了意外的 undefined
。我不知道它在那里是如何显示的。
这段代码中是否有未定义或错误插入的变量?
Demo is also on JSBIN. (And here 是编写具有相同目标的代码的另一种更好的方法。)
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
message += "<ol>";
for (var i=0; i<playList.length; i+=1) {
message += "<li>" + playList[i]+"</li>";
}
message += "</ol>";
document.write(message);
}
print();
由于您没有将任何内容作为参数传递给 print()
,因此 message
默认为 undefined
。
你可以使用OR ||
将message
的值设置为空字符串,当它没有被传递给函数时。
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
message = message || ''; // If no message is passed, use empty string
message += "<ol>"; // Removed + from here
for (var i = 0; i < playList.length; i += 1) {
message += "<li>" + playList[i] + "</li>";
}
message += "</ol>";
document.write(message);
}
print();
您还可以缩短代码如下:
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
document.write((message || '') + '<ol><li>' + playList.join('</li><li>') + '</li></ol>');
}
print();
ol {
color: green;
}