Javascript 生成一个列表
因此,我想从一个数组生成一个列表,我编写了以下代码:Javascript 生成一个列表,javascript,html,Javascript,Html,因此,我想从一个数组生成一个列表,我编写了以下代码: function list() { table = new Array("Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir"); document.write('<select id="list1" size=6><option value="Rabat">Rabat</option><option val
function list() {
table = new Array("Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir");
document.write('<select id="list1" size=6><option value="Rabat">Rabat</option><option value="Casablanca">Casablanca</option></select>');
}
函数列表(){
表=新阵列(“拉巴特”、“卡萨布兰卡”、“马拉喀什”、“Fes”、“坦格”、“阿加迪尔”);
文件。书写(“拉巴特卡萨布兰卡”);
}
它可以工作,但我想知道是否有更好的编码方法您可以使用循环遍历列表中的所有项目:
// you can use this instead of the new Array() syntax:
var table = ["Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir"];
var select = '<select id="list1" size="6">';
for (var i=0; i<table.length; i++) {
select += '<option value="' + table[i] + '">' + table[i] + '</option>';
}
select += '</select>';
document.write(select); //you should probably not use document.write though...
//您可以使用此语法代替新的Array()语法:
var表=[“拉巴特”、“卡萨布兰卡”、“马拉喀什”、“Fes”、“坦格”、“阿加迪尔”];
var选择=“”;
对于(var i=0;i您可以使用循环遍历列表中的所有项目:
// you can use this instead of the new Array() syntax:
var table = ["Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir"];
var select = '<select id="list1" size="6">';
for (var i=0; i<table.length; i++) {
select += '<option value="' + table[i] + '">' + table[i] + '</option>';
}
select += '</select>';
document.write(select); //you should probably not use document.write though...
//您可以使用此语法代替新的Array()语法:
var表=[“拉巴特”、“卡萨布兰卡”、“马拉喀什”、“Fes”、“坦格”、“阿加迪尔”];
var选择=“”;
对于(var i=0;i,您可以在数组上循环并生成字符串,而不是一次又一次地编写相同的代码
var list="";
for(i=0;i<table.length;i++){
var val=table[i];
list+="<option value='"+val+"'>"+val+"</option";
}
var list=”“;
对于(i=0;i,您可以循环数组并生成字符串,而不是一次又一次地编写相同的代码
var list="";
for(i=0;i<table.length;i++){
var val=table[i];
list+="<option value='"+val+"'>"+val+"</option";
}
var list=”“;
对于(i=0;iHTML:
JS:
函数列表(){
var i,
表=[“拉巴特”、“卡萨布兰卡”、“马拉喀什”、“Fes”、“坦格”、“阿加迪尔”],
select=document.getElementById('list1'),
出来
对于(i=0;i
小提琴:
HTML:
JS:
函数列表(){
var i,
表=[“拉巴特”、“卡萨布兰卡”、“马拉喀什”、“Fes”、“坦格”、“阿加迪尔”],
select=document.getElementById('list1'),
出来
对于(i=0;i
小提琴:
更好的方法?当然可能更适合。有两个问题:不要创建隐式全局变量,在声明变量时始终使用var
。不要使用document。在文档完全加载后编写。它将替换整个文档。改为使用DOM操纵。此外,您甚至似乎没有使用数组。这个问题似乎与主题无关,因为它是关于codereview的。更好的方法?当然可能更适合。有两个问题:不要创建隐式全局变量,在声明变量时始终使用var
。不要使用文档。在文档完全加载后写入。它将替换整个文档。使用DOM操作代替。而且,你甚至没有使用你的数组。这个问题似乎是偏离主题的,因为它是关于CODReVIEW的。@ LeBLMA是否使这个答案不好?“LeBLMA向下投票一个有效的答案是没有意义的。FLAG/DOWN投票表决这个问题。你可以考虑<代码>数组。
而不是字符串缩合。@Andy因为你让我好奇,所以我做了,正如你所看到的,性能速度确实对join
有利,但其实差别不大。我认为循环更清晰一些。我也是@Joetje50。我想这是第一次有人去做一些研究根据我在这里写的东西。KUDOS……LeBLMA会让这个答案变得糟糕吗?“LeBLMA向下投票一个有效的答案是没有意义的。FLAG/DOWN投票表决这个问题。你可以考虑<代码>数组。
而不是字符串缩合。@Andy因为你让我好奇,所以我做了,正如你所看到的,性能速度确实对join
有利,但其实差别不大。我认为循环更清晰一些。我也是@Joetje50。我想这是第一次有人去做一些研究基于我在这里写的东西。谢谢。您可能还应该在size
属性的值周围使用引号。您可能还应该在size
属性的值周围使用引号。