亚洲国产精品小说章节列表,亚洲综合久久加勒比,日韩不卡手机视频在线观看,综合婷婷久久影院一,亚洲第一五月天婷婷丁香导航,亚洲国产天堂久久综合

合肥做網(wǎng)站,選擇瘋狗科技,專(zhuān)業(yè)、敬業(yè)的合肥網(wǎng)絡(luò )公司
首頁(yè) > 網(wǎng)站SEO優(yōu)化 > 詳情

從找索引淺談性能優(yōu)化

2017-12-26 16:22:32   來(lái)源:互聯(lián)網(wǎng)   瀏覽:  次
有這么一個(gè)題目:找出由數字組成的數組中最大值的索引。 (PS:不用考慮兼容性)網(wǎng)站性能優(yōu)化 Javascript 代碼優(yōu)化 網(wǎng)站優(yōu)化三個(gè)方案中,方案一最傳統最直接明了,相信也是大部分人腦海里最早浮現出來(lái)的方案;方案二比方案

有這么一個(gè)題目:找出由數字組成的數組中最大值的索引。 (PS:不用考慮兼容性)

網(wǎng)站性能優(yōu)化 Javascript 代碼優(yōu)化 網(wǎng)站優(yōu)化

三個(gè)方案中,方案一最傳統最直接明了,相信也是大部分人腦海里最早浮現出來(lái)的方案;方案二比方案一更簡(jiǎn)潔,使用reduce方法替換了for循環(huán);方案三最簡(jiǎn)潔,沒(méi)有循環(huán),沒(méi)有條件判斷,一行代碼解決問(wèn)題。大部分人都喜歡追求代碼簡(jiǎn)潔優(yōu)雅,要是可選的話(huà),相信很多人都會(huì )選擇方案三。

但問(wèn)題來(lái)了,這三個(gè)方案中哪一個(gè)性能最好呢?

方案一:性能最差,因為它需要手動(dòng)去遍歷數組,并且每個(gè)遍歷都需要進(jìn)行條件判斷,所以這里的性能損耗最大;方案二:性能較好,因為它使用了JavaScript內置的reduce函數幫我們完成了方案一中手動(dòng)完成的數組遍歷工作;JavaScript內置的方法肯定是比我們自己實(shí)現的要快,因此在同樣需要條件判斷的情況下,方案二肯定是由于方案一;方案三:性能最好,因為相對方案二,它連條件判斷都省了,使用了Math.max替代。

但實(shí)際情況真的如上面所猜測的嗎?下面我們來(lái)做個(gè)測試:

測試地址:

indexOfMax-100,000 http://jsperf.com/indexofmax

indexOfMax-120,000 http://jsperf.com/indexofmax-120000

indexOfMax-130,000 http://jsperf.com/indexofmax-130000

測試結果如下:

網(wǎng)站性能優(yōu)化 Javascript 代碼優(yōu)化 網(wǎng)站優(yōu)化

從結果中可以看得出來(lái),性能上:方案一最好,方案三次之,方案二最差;與上面猜測的結果完全相反。方案一最好猜測應該是瀏覽器JavaScript解釋引擎對代碼進(jìn)行了優(yōu)化后執行的結果,優(yōu)化后的代碼從底層實(shí)現上來(lái)看應該是比reduce、indexOf、Math.max等底層接口的性能更好,因此效率更高。

同時(shí)注意到,在Chrome下,當數組長(cháng)度達到130,000時(shí)瀏覽器拋出了最大調用堆棧的異常,我此前說(shuō)過(guò),瀏覽器對調用堆棧的大小是有限制的。不同瀏覽器對函數最大參數長(cháng)度的限制是不一樣的,所以這里需要注意下。

高級瀏覽器的表現似乎比較統一,那么IE的表現又怎么樣呢?

亚洲国产精品小说章节列表,亚洲综合久久加勒比,日韩不卡手机视频在线观看,综合婷婷久久影院一,亚洲第一五月天婷婷丁香导航,亚洲国产天堂久久综合 国产极品尤物精品视频| 亚洲国产中文午夜精品不卡| 国产一区二区免费视频| 中文字幕aⅴ人妻一区二区| 最新熟妇精品国产电视剧| 日本三级在线看一区二区| 一日本道在线不卡视频| 日韩毛片免费看无码中文字幕| 亚洲女初尝黑人巨高清全集下载| 亚洲日韩国产一区二区蜜桃| 亚洲av无码专区手机在线观看| 亚洲欧美日本韩国综合在线观看| 亚洲精品一二三区区别在哪| 亚洲视频一二三区| 亚洲精品人成无码中文毛片| 国产一区二区女内射| 亚洲无线国产观看原创| 在线偷着国产精选视频| 亚洲成AV人在线观看网站| 婷婷四月开心色房播播网| 亚洲大尺度av无码专区| 亚洲午夜理论一区二区| 亚洲人成精品久久久久| 欧美一级淫片免费播放40分钟| 亚洲欧美一区二区欧美日韩综合| 97在线视频人人视频| 综合久久高清欧美| 日本三级视频在线观看| 色婷婷亚洲六月婷婷中文字幕| 亚洲欧美中文字幕在线网站| 亚洲午夜精品A片一区三区无码| 亚洲欧美中文日韩二区一区| 亚洲一区二区无码电影| 亚洲综合视频一区二区三区| 无码人妻一区二区三区野外| 性色aⅴ一区二区三区水牛影视| 亚洲国产韩国欧美在线天堂| 亚洲ⅴ国产v天堂a无码二区| 精品欧美一区二区三区四区| 91精品丝袜国产高跟在线一区| 亚洲欧美午睡沙发精品| http://bibjs.com http://dfh108.com http://yoomaxaudio.com http://longxinwenhua.com http://uqqoutfmy.com http://ivfproo.com