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

javascript for循環(huán)設(shè)法提高性能

 更新時(shí)間:2010年02月24日 21:37:00   作者:  
讓你的for循環(huán)提升性能的寫法,需要的朋友可以參考下。
一般在javascript里對數(shù)組進(jìn)行遍歷一般是使用for循環(huán),像下面一樣
復(fù)制代碼 代碼如下:

var arr = [];
for(var i=0; i<arr.length; i++){
//loop
}

這種代碼最大的問題,就在于每次循環(huán)時(shí)都要通過 .操作符獲取 .length,增加了開銷。那么我們可以這樣改進(jìn)。
復(fù)制代碼 代碼如下:

var arr = [];
for(var i=0, n=arr.length; i<n; i++){
//loop
}

這樣子,先把 arr.length暫存到 n 變量中去。只在開始時(shí)獲取一次。
但是這樣就沒問題了嗎?貌似多定義了個(gè)無意義的變量 n 。好那繼續(xù)改進(jìn)
復(fù)制代碼 代碼如下:

var arr = [];
for(var i=arr.length-1; i > -1; i--){
//loop
}

好這樣子,我們把這個(gè)循環(huán)順序倒過來,就把那個(gè)n去掉了,而使用了一個(gè)常量-1。
如果應(yīng)用場景,允許不使用 for 循環(huán)的話。我們可在使用 while代替
善于使用這兩種循環(huán)語句,以提高javascript的效率。
復(fù)制代碼 代碼如下:

var arr = [];
var i=arr.length-1;
while(i--){
//loop arr[i]
}

或者
復(fù)制代碼 代碼如下:

var arr = [];
var i=arr.length-1;
do {
// loop arr[i]
}while(--i)

這樣代碼更簡潔,效率更好,特別是如果允許先執(zhí)行一次循環(huán)體的情況下,使用do while效果很明顯。
唯一的問題是把 i 移到循環(huán)外了。

相關(guān)文章

最新評論

博客| 海南省| 茂名市| 湖州市| 武威市| 汶上县| 左云县| 威海市| 江孜县| 太仆寺旗| 扶沟县| 扎囊县| 宣汉县| 安达市| 太和县| 乐平市| 嘉鱼县| 自贡市| 延川县| 德阳市| 沾化县| 宁陵县| 益阳市| 荥阳市| 潢川县| 东乌珠穆沁旗| 保靖县| 陆丰市| 阜南县| 探索| 织金县| 綦江县| 浙江省| 高阳县| 阆中市| 辉南县| 民勤县| 鹰潭市| 喀什市| 上杭县| 措勤县|