DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 來自qq的javascript面試題
來自qq的javascript面試題
編輯:關於JavaScript     
復制代碼 代碼如下:
var info="騰訊拍拍網(www.paipai.com)是騰訊旗下知名電子商務網站。";
info +="拍拍網於2005年9月12日上線發布,";
info +="2006年3月13日宣布正式運營,";
info +="是目前國內第二大電子商務平台。";
info=info.split(",");
for(var i=0; i<info.length; i++)
{
alert(info[i]);
}

這題初看純屬折騰,因為後面要根據逗號分隔再alert每項,何不構造一個數組對象來存放文本內容,而要用個臨時變量info才存放
如var info=["騰訊拍拍網(www.paipai.com)是騰訊旗下知名電子商務網站。","拍拍網於2005年9月12日上線發布,","2006年3月13日宣布正式運營,","是目前國內第二大電子商務平台。"] 。可是後來想如果是優化的話這個題目就出的沒意義了。
仔細觀察info這個變量,發現它每次都要自加字符串,如果字符串很大的又很多的話會非常影響性能的。

對於js中的string類型,屬於基本類型,因此一般情況下他們是存放在棧上的。如果字符串很大,info會每次變成一個很長的字符串,會很慢

如果用引用類型數組來存放則好很多,如
復制代碼 代碼如下:
var temp=[];
temp.push("騰訊拍拍網(www.paipai.com)是騰訊旗下知名電子商務網站。") ;
temp.push()....//temp只是一個指向堆上數組的指針
....

最後一招temp.join("")搞定。對處理大字符串連接問題都可以采取這種思路。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved