8.盡量用原生的方法,因?yàn)樵亩际怯胏/c++編譯而成的他們執(zhí)行的要比用js寫的方法快多了
9.appendChild用的多時(shí)一定要用docuemntfragment
比如 for(var i=0;i<1000;i++){ var o = document.createElement('div'); document.body.appendChild(o); } 用documentFragment
var f = document.createDocumentFragment(); for(var i=0;i<1000;i++){ var o = document.createElement('div'); f.appendChild(o); } document.body.appendChild(f);
10. if else用的>=3個(gè)了,那用switch吧,好閱讀,性能好
11. if<=3,別用if了,用3元表達(dá)式吧
12. if==1,if改&&
if(a==1)a=2 改 a==1&&(a=2);
13.計(jì)算元素位置,while()offsetParent
這個(gè)方式是老方式了,現(xiàn)在的瀏覽器ie6以上,ff3.1以上,chrome,opera(我只測了最新的)都支持這個(gè)el.getBoundingClientRect返回一個(gè)對像,分別是top,left,right,bottom的值
14.正則的查找沒有indexOf快
var s= 'sdfsdfsdfAAAsdfdsfs'; for(var i=0;i<1000;i++){ s.indexOf('AAA') }
比這個(gè)快
var s= 'sdfsdfsdfAAAsdfdsfs'; for(var i=0;i<1000;i++){ /AAA/.test(s) }
15.在正則中多用非捕獲(?:)這樣快
16.設(shè)置某個(gè)元素的style時(shí)用cssText簡單些
el.style.cssText +=";postion:absolute;"
(注意:position前;不能去了,因?yàn)閕e沒有這個(gè);position認(rèn)不出來了就,比的瀏覽器沒這個(gè)毛病)
17.在new 時(shí),沒有參數(shù)時(shí)函數(shù)名后邊的括號可以去了
new fn()==>new fn new Image()==>new Image
先想到這么多,再想到時(shí)在補(bǔ)償,認(rèn)為不對的提啊,別客氣
經(jīng)典論壇交流:http://bbs.blueidea.com/thread-2978972-1-1.html
本文鏈接:http://m.95time.cn/tech/web/2010/7707.asp
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 js優(yōu)化 [2] 下一頁
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|