來自qq的javascript面試題
更新時間:2010年07月24日 01:02:21 作者:
請指出一下代碼的性能問題,并經(jīng)行優(yōu)化。
復制代碼 代碼如下:
var info="騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務網(wǎng)站。";
info +="拍拍網(wǎng)于2005年9月12日上線發(fā)布,";
info +="2006年3月13日宣布正式運營,";
info +="是目前國內(nèi)第二大電子商務平臺。";
info=info.split(",");
for(var i=0; i<info.length; i++)
{
alert(info[i]);
}
這題初看純屬折騰,因為后面要根據(jù)逗號分隔再alert每項,何不構造一個數(shù)組對象來存放文本內(nèi)容,而要用個臨時變量info才存放
如var info=["騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務網(wǎng)站。","拍拍網(wǎng)于2005年9月12日上線發(fā)布,","2006年3月13日宣布正式運營,","是目前國內(nèi)第二大電子商務平臺。"] ??墒呛髞硐肴绻莾?yōu)化的話這個題目就出的沒意義了。
仔細觀察info這個變量,發(fā)現(xiàn)它每次都要自加字符串,如果字符串很大的又很多的話會非常影響性能的。
對于js中的string類型,屬于基本類型,因此一般情況下他們是存放在棧上的。如果字符串很大,info會每次變成一個很長的字符串,會很慢
如果用引用類型數(shù)組來存放則好很多,如
復制代碼 代碼如下:
var temp=[];
temp.push("騰訊拍拍網(wǎng)(www.paipai.com)是騰訊旗下知名電子商務網(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)上傳圖片前的預覽(TX的面試題)
- 5個JavaScript經(jīng)典面試題
- 從面試題學習Javascript 面向?qū)ο螅▌?chuàng)建對象)
- javascript實現(xiàn)上傳圖片前的預覽(TX的面試題)
- 人人網(wǎng)javascript面試題 可以提前實現(xiàn)下
- 14 個折磨人的 JavaScript 面試題
相關文章
javascript(js) join函數(shù)使用方法介紹
javascript(js) join函數(shù)使用方法介紹...2007-11-11javascript完美實現(xiàn)給定日期返回上月日期的方法
這篇文章主要介紹了javascript完美實現(xiàn)給定日期返回上月日期的方法,結(jié)合實例形式分析了javascript日期時間的計算技巧,并給出了格式化日期時間的操作方法,需要的朋友可以參考下2017-06-06淺談js停止事件冒泡 阻止瀏覽器的默認行為(阻止超連接 #)
下面小編就為大家?guī)硪黄獪\談js停止事件冒泡 阻止瀏覽器的默認行為(阻止超連接 #)。2017-02-02