appendChild、拼接string、join三种方式比较字符串拼接

本文通过实验对比了三种不同的DOM操作方法:使用appendChild、修改innerHTML以及使用join+innerHTML的方法,并记录了每种方法所需的时间。实验结果显示,使用join+innerHTML的方法在性能上表现最优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function Append() {
    var n = parseInt(document.getElementById("tbTimes").value);
    var content = document.getElementById("tbContent").value;
    var startTime = (new Date()).getTime();
    var div = document.getElementById("divContent");
    div.innerHTML = "";
    for (var i = 0; i < n; i++) {
        var item = document.createElement("span");
        item.appendChild(document.createTextNode(content));
        div.appendChild(item);
    }
    var endTime = (new Date()).getTime();
    document.getElementById("tbTime").value = endTime - startTime;
}

function InnerHtml() {
    var n = parseInt(document.getElementById("tbTimes").value);
    var content = document.getElementById("tbContent").value;
    var startTime = (new Date()).getTime();
    var div = document.getElementById("divContent");
    div.innerHTML = "";
    for (var i = 0; i < n; i++) {
        div.innerHTML += "<span>" + content + "</span>";
    }
    var endTime = (new Date()).getTime();
    document.getElementById("tbTime").value = endTime - startTime;
}

function JoinInnerHtml() {
    var n = parseInt(document.getElementById("tbTimes").value);
    var content = document.getElementById("tbContent").value;
    var startTime = (new Date()).getTime();
    var div = document.getElementById("divContent");
    div.innerHTML = "";
    var result = [];
    //var result = "";
    for (var i = 0; i < n; i++) {
        result.push("<span>" + content + "</span>");
        //result += "<span>" + content + "</span>";
    }
    div.innerHTML = result.join("");
    //div.innerHTML = result;
    var endTime = (new Date()).getTime();
    document.getElementById("tbTime").value = endTime - startTime;
}

<body>
 内容<input id="tbContent" type="text" value=" [Hello World] " /><br />
 次数<input id="tbTimes" type="text" value="1000" /><br />
 耗时<input id="tbTime" type="text" /><br />
 <input type="button" value="appendChild" onclick="Append()"/>
 <input type="button" value="innerHTML" onclick="InnerHtml()" />
 <input type="button" value="join+innerHTML" onclick="JoinInnerHtml()" /> 
 <div id="divContent"> </div>
 </body>


通过实验,用第三种join来实现,所耗时间最少。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值