document.createDocumentFragment其實是爲了減小Dom次數, 提升頁面效率和性能;由於每當javascript對Dom操做一次, 頁面將刷新一次並更新內容;而利用document.createDocumentFragment建立一個文檔碎片, 將全部Dom操做追加到該文檔碎片, 最後一次性將該文檔碎片添加到document中。相比前者,後者只須要對Dom操做一次, 頁面也就只被刷新一次, 因爲頁面刷新次數大大減小, 從而提升頁面顯示的效率。javascript
<html>
<head>
<title>document.createDocumentFragment()測試頁面</title>
</head>
<body>
<script type="text/javascript">
var d1 = new Date();
for (var i = 0; i < 1000; i++) {
var op = document.createElement("P");
var oText = document.createTextNode("test1");
op.appendChild(oText);
document.body.appendChild(op);
}
var d2 = new Date();
document.write("方法一用時:" + (d2.getTime() - d1.getTime()) + "<br/>");
alert(d2.getTime() - d1.getTime());
//---+-----
var d3 = new Date();
var oFrag = document.createDocumentFragment();
for (var i = 0; i < 1000; i++) {
var op = document.createElement("P");
var oText = document.createTextNode("test2");
op.appendChild(oText);
oFrag.appendChild(op);
}
document.body.appendChild(oFrag);
//這段代碼中
var d4 = new Date();
document.write("方法二用時:" + (d4.getTime() - d3.getTime()) + "<br/>");
alert(d4.getTime() - d3.getTime());
</script>
</body>
</html>
PS. 比較方法一和方法二程序執行所須要的時間, 應該是方法一大於方法二。html