我创建了一个Javascript代码来显示如下所示的项目列表,但在有序列表之前显示了一个意外的undefined
。我不知道它是如何显示的。
此代码块中是否有未定义或错误插入的变量?
Demo is also on JSBIN。 (而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();
答案 0 :(得分:3)
由于您未将任何内容传递给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();
&#13;
您还可以按照以下步骤缩短代码:
var playList = [
"First Life",
"Spaceman",
"Run run run"
];
function print(message) {
document.write((message || '') + '<ol><li>' + playList.join('</li><li>') + '</li></ol>');
}
print();
&#13;
ol {
color: green;
}
&#13;