为什么这两个函数会产生不同的结果?
var table1 = document.getElementById("table1");
var table2 = document.getElementById("table2");
var register = [
{att1: 1, att2: 2, att3: 3},
{att1: 4, att2: 5, att3: 6},
{att1: 7, att2: 8, att3: 9}
];
//table1.innerHTML = "";
//table2.innerHTML = "";
function drawTable1() {
for (var i = 0; i < register.length; i++) {
table1.innerHTML += "
" + register[i].att1 + "" + register[i].att2 + "" + register[i].att3 + "";}
}
function drawTable2() {
for (var i = 0; i < register.length; i++) {
table2.innerHTML += "
";table2.innerHTML += "
" + register[i].att1 + "";table2.innerHTML += "
" + register[i].att2 + "";table2.innerHTML += "
" + register[i].att3 + "";table2.innerHTML += "
";}
}
drawTable1();
drawTable2();
table {
display: inline;
}
Att1Att2Att3
Att1Att2Att3
我刚开始用js,我注意到了这件事.从逻辑的角度来看,我看到两个函数之间没有区别,第二个函数刚刚被分解以使代码更容易阅读.它应该只是在字符串中添加字符串,但似乎在每个操作中,打开的标记都会被程序关闭,从而产生大量的行.
为什么是这样?这有用吗?