我正在尝试自学html n javascript我不认为我做得太糟糕了但是我想要一个阵列在两条线上打印但是它会像下面那样进行。
我的javascript看起来像这样:
var Abc = function(foo, bar) {
this.foo=foo;
this.bar=bar;
}
var def = new Abc("foo", ["foo", "bar"]);
var ghj = new Abc("bar", "foo");
var klm = [def, ghj];
for(var i = 0; i < klm.length; i++) {
var testPara = document.createElement("p");
var testNode = document.createTextNode(klm[i].foo);
testPara.appendChild(testNode);
document.getElementById(foobar).appendChild(testPara);
var testPara1 = document.createElement("p");
var testNode1 = document.createTextNode(klm[i].foo);
testPara.appendChild(testNode);
document.getElementById(foobar).appendChild(testPara1);
}
我的HTML是这样的:
<section id="foobar"></section>
我希望它在页面上打印出来的是
FOO
FOO
巴
巴
FOO
但我得到的是:
FOO
FOO,酒吧
巴
FOO
我尝试使用嵌套的for循环将它们分开,但它在打开之前只打印了大约20次相同的东西
此外,我是否必须将对象的实例放入数组中才能使其正常工作,还是有另一种更简单的方法吗?
答案 0 :(得分:0)
那是因为var def = new Abc("foo", ["foo", "bar"]);
定义了这样的对象:
def: {
foo: "foo",
bar: ["foo", "bar"]
}
如果您希望它在不同的行上打印def.bar
的内容,则可以:
bar
的{{1}}部分拆分为一个字符串而不是数组;或