今天項目中碰到了這個問題,在網路上試圖找了一下別人的見解,然後得出自己的淺見。 引用: http://blog.sina.com.cn/s/blog_9342cd570102v3pr.html https://segmentfault.com/q/1010000005710307/a-1020000 ...
今天項目中碰到了這個問題,在網路上試圖找了一下別人的見解,然後得出自己的淺見。
引用:
http://blog.sina.com.cn/s/blog_9342cd570102v3pr.html
https://segmentfault.com/q/1010000005710307/a-1020000005710886
------------------------------------------------------------------------------------------------------------------------
根據以上得知:
1 簡短的代碼段,先判斷再迴圈和先迴圈再判斷執行一千萬次的執行效率相差無幾
2 先判斷再迴圈的代碼維護不便並且代碼冗餘
--------------------------------------------以下為代碼段和個人淺見--------------------------------------------
先判斷再迴圈:
1 if(type==1){ 2 for (var i = 0; i < item.length; i++) { 3 console.log(item[i].Aa) 4 } 5 }else if(type==2){ 6 for (var i = 0; i < item.length; i++) { 7 console.log(item[i].Bb) 8 } 9 }else if(type==3){ 10 for (var i = 0; i < item.length; i++) { 11 console.log(item[i].Cc) 12 } 13 }
先迴圈再判斷:
1 for (var i = 0; i < item.length; i++) { 2 if(type==1){ 3 console.log(item[i].Aa) 4 }else if(type==2){ 5 console.log(item[i].Bb) 6 }else if(type==3){ 7 console.log(item[i].Cc) 8 } 9 }
前者代碼冗餘且維護不便,而後者代碼簡潔方便維護,在執行效率相差無幾的情況下,推薦使用後者