來自qq的javascript面試題
更新時間:2010年07月24日 01:02:21 作者:
請指出一下代碼的性能問題,并經(jīng)行優(yōu)化。
復(fù)制代碼 代碼如下:
var info="騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務(wù)網(wǎng)站。";
info +="拍拍網(wǎng)于2005年9月12日上線發(fā)布,";
info +="2006年3月13日宣布正式運(yùn)營,";
info +="是目前國內(nèi)第二大電子商務(wù)平臺。";
info=info.split(",");
for(var i=0; i<info.length; i++)
{
alert(info[i]);
}
這題初看純屬折騰,因為后面要根據(jù)逗號分隔再alert每項,何不構(gòu)造一個數(shù)組對象來存放文本內(nèi)容,而要用個臨時變量info才存放
如var info=["騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務(wù)網(wǎng)站。","拍拍網(wǎng)于2005年9月12日上線發(fā)布,","2006年3月13日宣布正式運(yùn)營,","是目前國內(nèi)第二大電子商務(wù)平臺。"] 。可是后來想如果是優(yōu)化的話這個題目就出的沒意義了。
仔細(xì)觀察info這個變量,發(fā)現(xiàn)它每次都要自加字符串,如果字符串很大的又很多的話會非常影響性能的。
對于js中的string類型,屬于基本類型,因此一般情況下他們是存放在棧上的。如果字符串很大,info會每次變成一個很長的字符串,會很慢
如果用引用類型數(shù)組來存放則好很多,如
復(fù)制代碼 代碼如下:
var temp=[];
temp.push("騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務(wù)網(wǎng)站。") ;
temp.push()....//temp只是一個指向堆上數(shù)組的指針
....
最后一招temp.join("")搞定。對處理大字符串連接問題都可以采取這種思路。
您可能感興趣的文章:
- 一套比較完整的javascript面試題(部分答案)
- BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--JavaScript篇
- 網(wǎng)易JS面試題與Javascript詞法作用域說明
- 你有必要知道的25個JavaScript面試題
- 用js實現(xiàn)上傳圖片前的預(yù)覽(TX的面試題)
- 5個JavaScript經(jīng)典面試題
- 從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象)
- javascript實現(xiàn)上傳圖片前的預(yù)覽(TX的面試題)
- 人人網(wǎng)javascript面試題 可以提前實現(xiàn)下
- 14 個折磨人的 JavaScript 面試題
相關(guān)文章
Bootstrap每天必學(xué)之輪播(Carousel)插件
Bootstrap每天必須之輪播(Carousel)插件,Bootstrap 輪播(Carousel)插件是一種靈活的響應(yīng)式的向站點添加滑塊的方式,感興趣的小伙伴們可以參考一下2016-04-04
javascript獲取隱藏元素(display:none)的高度和寬度的方法
這篇文章主要介紹了javascript獲取隱藏元素(display:none)的高度和寬度的方法,實現(xiàn)方法比較復(fù)雜,需要的朋友可以參考下2014-06-06

