JavaScript 學(xué)習(xí)筆記二 字符串拼接
更新時間:2010年03月28日 10:15:10 作者:
JavaScript 字符串拼接的一些知識點分析,對于提高效率等,都是非常值得一看的。
var str="hello";
str+="world";
實際上,這段代碼在幕后執(zhí)行的步驟如下:
(1) 創(chuàng)建存儲"hello"的字符串。
(2) 創(chuàng)建存儲"world"的字符串。
(3) 創(chuàng)建存儲連接結(jié)果的字符串。
(4) 把str的當(dāng)前內(nèi)容復(fù)制到結(jié)果中。
(5) 把"world"復(fù)制到結(jié)果中。
(6) 更新str,使它指向結(jié)果。
每次完成字符串連接都會執(zhí)行步驟2到6,使得這種操作非常消耗資源。如果重復(fù)這一過程幾百次,甚至幾千次,就會造成性能問題。解決方法是用Array對象存儲字符串,然后用join()方法(參數(shù)是空字符串)創(chuàng)建最后的字符串。想像用下面的代碼代替前面的代碼:
var str=new Array();
str[0]="hello";
str[1]="world";
str.join("");
這樣,無論在數(shù)組中引入多少字符串都不成問題,因為只在調(diào)用join()方法時才會發(fā)生連接操作。此時,執(zhí)行的步驟如下:
(1) 創(chuàng)建存儲結(jié)果的字符串。
(2) 把每個字符串復(fù)制到結(jié)果中的合適位置。
function StringBuilder(){
this._string=new Array();
}
StringBuilder.prototype.Append=function(str){
this._string.push(str);
}
StringBuilder.prototype.toString=function(){
return this._string.join("");
}
相關(guān)提升效率的文章:
html數(shù)組字符串拼接的最快方法
javascript之大字符串的連接的StringBuffer 類
更多可以參考腳本之家以前的文章。
str+="world";
實際上,這段代碼在幕后執(zhí)行的步驟如下:
(1) 創(chuàng)建存儲"hello"的字符串。
(2) 創(chuàng)建存儲"world"的字符串。
(3) 創(chuàng)建存儲連接結(jié)果的字符串。
(4) 把str的當(dāng)前內(nèi)容復(fù)制到結(jié)果中。
(5) 把"world"復(fù)制到結(jié)果中。
(6) 更新str,使它指向結(jié)果。
每次完成字符串連接都會執(zhí)行步驟2到6,使得這種操作非常消耗資源。如果重復(fù)這一過程幾百次,甚至幾千次,就會造成性能問題。解決方法是用Array對象存儲字符串,然后用join()方法(參數(shù)是空字符串)創(chuàng)建最后的字符串。想像用下面的代碼代替前面的代碼:
復(fù)制代碼 代碼如下:
var str=new Array();
str[0]="hello";
str[1]="world";
str.join("");
這樣,無論在數(shù)組中引入多少字符串都不成問題,因為只在調(diào)用join()方法時才會發(fā)生連接操作。此時,執(zhí)行的步驟如下:
(1) 創(chuàng)建存儲結(jié)果的字符串。
(2) 把每個字符串復(fù)制到結(jié)果中的合適位置。
復(fù)制代碼 代碼如下:
function StringBuilder(){
this._string=new Array();
}
StringBuilder.prototype.Append=function(str){
this._string.push(str);
}
StringBuilder.prototype.toString=function(){
return this._string.join("");
}
相關(guān)提升效率的文章:
html數(shù)組字符串拼接的最快方法
javascript之大字符串的連接的StringBuffer 類
更多可以參考腳本之家以前的文章。
相關(guān)文章
React+TypeScript進行項目構(gòu)建案例講解
這篇文章主要介紹了React+TypeScript進行項目構(gòu)建案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07js限制文本框輸入長度兩種限制方式(長度、字節(jié)數(shù))
在實際應(yīng)用中根據(jù)需要會用到文本框限制字符長度,以些新手朋友有們可能還不清楚如何應(yīng)付,本人搜集整理了一些常用技巧,曬出來和大家分享一下,希望可以幫助你們2012-12-12javascript創(chuàng)建數(shù)組之聯(lián)合數(shù)組的使用方法示例
聯(lián)合數(shù)組也叫做鍵值數(shù)組,和php中的鍵值數(shù)組類似,下面看代碼如何演示2013-12-12Javascript & DHTML 實例編程(教程)DOM基礎(chǔ)和基本API
Javascript & DHTML 實例編程(教程)DOM基礎(chǔ)和基本API...2007-06-06實現(xiàn)JavaScript的組成----BOM和DOM詳解
下面小編就為大家?guī)硪黄獙崿F(xiàn)JavaScript的組成----BOM和DOM詳解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-05-05