基本原理:
對DOM操作的代價是高昂的,這在網頁應用中的通常是一個性能瓶頸。
天生就慢。在《高性能JavaScript》中這麼比喻:“把DOM看成一個島嶼,把JavaScript(ECMAScript)看成另一個島嶼,兩者之間以一座收費橋連接”。所以每次訪問DOM都會教一個過橋費,而訪問的次數越多,交的費用也就越多。所以一般建議儘量減少過橋次數。
解決辦法:
修改和訪問DOM元素會造成頁面的Repaint和Reflow,循環對DOM操作更是罪惡的行爲。所以請合理的使用JavaScript變量儲存內容,考慮大量DOM元素中循環的性能開銷,在循環結束時一次性寫入。
減少對DOM元素的查詢和修改,查詢時可將其賦值給局部變量。