JavaScript 利用StringBuffer類提升+=拼接字符串效率
更新時(shí)間:2009年11月24日 02:13:50 作者:
JavaScript 利用StringBuffer類提升+=拼接字符串效率,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
</body>
<script type="text/javascript"><!--
var str = 'hello';
str += 'world';
//每次完成字符串連接都會(huì)執(zhí)行步驟2到6步
//實(shí)際上,這段代碼在幕后執(zhí)行的步驟如下:
/**//*
1.創(chuàng)建存儲(chǔ)'hello'的字符串
2.創(chuàng)建存儲(chǔ)'world'的字符串
3.創(chuàng)建存儲(chǔ)鏈接結(jié)果的字符串
4.把str的當(dāng)前內(nèi)容復(fù)制到結(jié)果中
5.把'world'復(fù)制到結(jié)果中
6.更新str,使它指向結(jié)果
*/
//為了提高性能最好使用數(shù)組方法拼接字符串
//創(chuàng)建一個(gè)StringBuffer類
function StringBuffer(){
this.__strings__ = [];
};
StringBuffer.prototype.append = function(str){
this.__strings__.push(str);
};
StringBuffer.prototype.toString = function(){
return this.__strings__.join('');
};
//調(diào)用StringBuffer類,實(shí)現(xiàn)拼接字符串
//每次完成字符串連接都會(huì)執(zhí)行步驟2步
//實(shí)際上,這段代碼在幕后執(zhí)行的步驟如下:
/**//*
1.創(chuàng)建存儲(chǔ)結(jié)果的字符串
2.把每個(gè)字符串復(fù)制到結(jié)果中的合適位置
*/
var buffer = new StringBuffer();
buffer.append('hello ');
buffer.append('world');
var result = buffer.toString();
//用StringBuffer類比使用+=節(jié)省50%~66%的時(shí)間
//-->
</script>
</html>
您可能感興趣的文章:
相關(guān)文章
解讀Typescript中interface和type的用法及區(qū)別
在TypeScript中,`interface`和`type`都可以用來(lái)定義自定義類型,但它們?cè)谡Z(yǔ)法、聲明合并、可擴(kuò)展性、兼容性、類型注解和類型別名、訪問(wèn)修飾符、聯(lián)合類型與交叉類型、實(shí)現(xiàn)接口和類型別名、映射類型、泛型參數(shù)位置、擴(kuò)展對(duì)象類型以及調(diào)用簽名和構(gòu)造函數(shù)等方面存在一些差異2025-02-02
優(yōu)化網(wǎng)頁(yè)之快速的呈現(xiàn)我們的網(wǎng)頁(yè)
優(yōu)化網(wǎng)頁(yè)之快速的呈現(xiàn)我們的網(wǎng)頁(yè)...2007-06-06
javaScript window.event.keyCode 集合與測(cè)試方法
javaScript window.event.keyCode 集合,對(duì)于事件的代碼獲取可以用腳本監(jiān)聽來(lái)實(shí)現(xiàn)。2010-05-05
JS實(shí)現(xiàn)判斷兩個(gè)日期不能跨年和跨月
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript語(yǔ)言實(shí)現(xiàn)判斷兩個(gè)日期不能跨年和跨月,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04
JavaScript常用對(duì)象的方法和屬性小結(jié)
JavaScript是基于對(duì)象的語(yǔ)言。我們知道,對(duì)象是由一組數(shù)據(jù)(JavaScript中稱之為屬性)和施加在這組數(shù)據(jù)上的方法組成的。JavaScript中還有一些不屬于任何對(duì)象的系統(tǒng)函數(shù)2012-01-01
關(guān)于IE中g(shù)etElementsByClassName不能用的問(wèn)題解決方法
今天使用getElementsByClassName寫了段小程序,在IE6、8中測(cè)試的時(shí)候就出現(xiàn)問(wèn)題了,瀏覽器報(bào)錯(cuò),經(jīng)搜索找到了一個(gè)比較好的方法,是個(gè)老外寫的一個(gè)方法2013-08-08
JavaScript的ES5實(shí)現(xiàn)繼承的4種常用方法小結(jié)
繼承是面向?qū)ο筌浖夹g(shù)當(dāng)中的一個(gè)概念,這篇文章主要為大家詳細(xì)介紹了JavaScript ES5實(shí)現(xiàn)繼承的4種常用方法,感興趣的小伙伴可以了解一下2024-03-03
微信小程序?qū)崿F(xiàn)傳參數(shù)的幾種方法示例
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)傳參數(shù)的幾種方法,分別是navigator跳轉(zhuǎn)時(shí)、全局變量、列表index下標(biāo)取值以及form表單傳值的相關(guān)內(nèi)容,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01

