最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

優(yōu)化javascript的執(zhí)行效率一些方法總結(jié)

 更新時間:2013年12月25日 15:04:52   作者:  
本文為大家介紹下優(yōu)化javascript的執(zhí)行效率一些方法,個人感覺還不錯,感興趣的朋友可以了解下
1、在低版本瀏覽器中(如IE6,IE7等)串聯(lián)字符串時使用數(shù)組的join方法就比使用+號來連接高效很多(如['aaa','bbb','ccc'].join()比'aaa'+'bbb'+'ccc'高效);

2、Array:
pop比shift高效,push比unshift高效。這對于設(shè)計二叉堆結(jié)構(gòu)比較重要,將最大或者最小的元素放在數(shù)組末尾最好。

3、數(shù)字取整最好用移位操作:
1.1 >> 0;

4、使用直接量創(chuàng)建Array和Object:
var a = [];
var o = {};

5、對象層次不要嵌套太多,減少對象的查找:
不要用a.b.c.d.e,這種設(shè)計方式獲取e對象。

6、鍵值對應(yīng)取值,與switch case的比較,鍵值對應(yīng),比switch case高效,各個瀏覽器均測試過,可以看看 關(guān)于這個比較的文章javascript小實驗;

7、如果你使用jq的話,還有一個$('xxxx').empty().append('xxxxxxx');和$('xxxxx').html('xxxxx');的比較,結(jié)果是$('xxxx').empty().append('xxxxxxx');勝出,文章地址是jQuery小實驗;

8、循環(huán)
在JavaScript中,我們可以使用for(;;),while(),for(in)三種循環(huán),這三種循環(huán)中for(in)的效率極差,因為他需要查詢散列鍵,只要可以就應(yīng)該盡量少用。for(;;)和while循環(huán)的性能應(yīng)該說基本(平時使用時)等價。

如果是循環(huán)變量遞增或遞減,不要單獨對循環(huán)變量賦值,應(yīng)該在它最后一次讀取的時候使用嵌套的++或—操作符。

如果要與數(shù)組的長度作比較,應(yīng)該事先把數(shù)組的length屬性放入一個局部變量中,減少查詢次數(shù)。

9、局部變量和全局變量
局部變量的速度要比全局變量的訪問速度更快,因為全局變量其實是全局對象的成員,而局部變量是放在函數(shù)的棧當(dāng)中的。

10、不使用Eval
使用eval相當(dāng)于在運行時再次調(diào)用解釋引擎對內(nèi)容進行運行,需要消耗大量時間。這時候使用JavaScript所支持的閉包可以實現(xiàn)函數(shù)模版(關(guān)于閉包的內(nèi)容請參考函數(shù)式編程的有關(guān)內(nèi)容);

11、字符串連接
如果是追加字符串,最好使用s+=anotherStr操作,而不是要使用s=s+anotherStr;

12、把數(shù)字轉(zhuǎn)換成字符串,應(yīng)用"" + 1,雖然看起來比較丑一點,但事實上這個效率是最高的,性能上來說:

("" +) > String() > .toString() > new String()

這條其實和下面的“直接量”有點類似,盡量使用編譯時就能使用的內(nèi)部操作要比運行時使用的用戶操作要快。

String()屬于內(nèi)部函數(shù),所以速度很快,而.toString()要查詢原型中的函數(shù),所以速度遜色一些,new String()用于返回一個精確的副本;

13、浮點數(shù)轉(zhuǎn)換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用于將字符串轉(zhuǎn)換成數(shù)字,而不是浮點數(shù)和整型之間的轉(zhuǎn)換,我們應(yīng)該使用Math.floor()或者Math.round()。

14、字符串遍歷操作
對字符串進行循環(huán)操作,譬如替換、查找,應(yīng)使用正則表達式,因為本身JavaScript的循環(huán)速度就比較慢,而正則表達式的操作是用C寫成的語言的API,性能很好;

15、定時器
如果針對的是不斷運行的代碼,不應(yīng)該使用setTimeout,而應(yīng)該是用setInterval。setTimeout每次要重新設(shè)置一個定時器;

更新中……,敬請期待!

相關(guān)文章

最新評論

桓仁| 永丰县| 荔浦县| 河曲县| 长子县| 长沙县| 潞西市| 林芝县| 门源| 清流县| 金门县| 广德县| 淳安县| 横峰县| 涟水县| 佛教| 鹤峰县| 林周县| 肥东县| 儋州市| 迁西县| 丹寨县| 房产| 安龙县| 乌拉特后旗| 三亚市| 乐平市| 祁连县| 筠连县| 南漳县| 金堂县| 永春县| 东丽区| 双峰县| 台北市| 博罗县| 蓬溪县| 金沙县| 高唐县| 肇庆市| 蓬安县|