慕標琳琳
2022-12-29 16:42:04
javascript 初學者在這里,我將這些(document.write vs console.log vs innerHTML)相互比較并從 innerHTML 得到不同的結果。如您所見,“document.write”和“console.log”打印“fname lname age”,但 innerHTML 只打印“age”,有人可以解釋一下嗎?var person = {fname:"John", lname:"Doe", age:25}; var x;for (x in person) {document.write(x+' ')}<p id="demo"></p>控制臺日志版本:var person = {fname:"John", lname:"Doe", age:25}; var x;for (x in person) {console.log(x+' ')}內部 HTML 版本:var person = {fname:"John", lname:"Doe", age:25}; var x;for (x in person) {document.getElementById("demo").innerHTML =x+' '}<p id="demo"></p>
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
當您使用 innerHTML 時,您會用新文本替換文本。
如果要顯示每個值,您需要使用+=運算符,它不會替換字符串,但會將當前x值添加到所需的 HTML 元素中。
var person = {fname:"John", lname:"Doe", age:25};
var x;
for (x in person) {
document.getElementById("demo").innerHTML += x+' '
}
<div id="demo"></div>
此外,您可以為每個person值使用不同的 HTML 元素。
var person = {fname:"John", lname:"Doe", age:25};
let demoIndex = 1;
for(let x in person) {
document.getElementById("demo"+demoIndex).innerHTML =x+' '
demoIndex++;
}
<div id="demo1"></div>
<div id="demo2"></div>
<div id="demo3"></div>
我推薦第一個選項。
有關 JS 中的表達式和運算符的更多信息,請參見此處
添加回答
舉報
0/150
提交
取消