1碟案、減少js和dom的操作
ex:比如說要多次循環(huán)操作動態(tài)往元素內(nèi)插入一些內(nèi)容祖很。建議能夠用一個字符串把要插入的內(nèi)容都保存下來笛丙。在循環(huán)結(jié)束后,再一次性添加假颇;
2胚鸯、通過clone節(jié)點的方式。先創(chuàng)建一個笨鸡。其余的都用clone.
ex:比如說要創(chuàng)建500個li節(jié)點姜钳,我們可以先創(chuàng)建一個坦冠。再克隆其余的。
3哥桥、訪問元素盡量的用局部變量辙浑。
4、盡量只用元素節(jié)點 (ps:像標簽間的文字就屬于文本節(jié)點)
5拟糕、選擇器api,利用querySelector和querySelectorAll
Dom與瀏覽器
1判呕、重排:改變了元素的寬、高送滞、位置(改變了頁面內(nèi)容)
2侠草、重繪:改變顏色等
3、在appendchild前添加操作犁嗅。
4边涕、使用cssText(能合并dom操作。不要單獨的去設(shè)置width,height,而是都寫在cssText中)褂微。
5功蜓、緩存布局的信息。
6宠蚂、創(chuàng)建文檔碎片霞赫。
//先創(chuàng)建文檔碎片
var oFragmeng = document.createDocumentFragment();
for(var i=0;i<10000;i++)
{
var op = document.createElement("span");
var oText = document.createTextNode(i);
op.appendChild(oText);
//先附加在文檔碎片中
oFragmeng.appendChild(op);
}
//最后一次性添加到document中
document.body.appendChild(oFragmeng);