久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

javascript 字符串操作

 jijo 2008-08-26
JavaScript中的字符串連接
2008-05-04 15:31
By Uzi Refaeli

翻譯:Forain

這篇文章將會介紹一些能夠提高你的JavaScript代碼性能的建議和技巧,。

原文參見http://hi.baidu.com/forain/blog/item/62e8918fc2eb4aff513d929c.html

問題

大多數(shù)JavaScript開發(fā)者都習(xí)慣于使用 JavaScript提供的簡單的字符串處理,,比如連接字符串”+”運(yùn)算符:

var str = “Hello” + “ World”;

這句代碼可讀性很好,對于連接小的字符串是很方便的,。但是利用這樣的方法去操作許多的字符串(比如當(dāng)你要動態(tài)的創(chuàng)建整個(gè)頁面內(nèi)容)時(shí),,代碼性能將被嚴(yán)重影響。

解決方案

數(shù)組對象的join方法使我們可以將數(shù)組里的所有元素連接成為一個(gè)字符串,,在這個(gè)連接過程中,,join方法還允許我們設(shè)定一個(gè)字符作為分隔符插入在各個(gè)元素中間昨晚間隔。如果我們將我們要連接的文字段落的各個(gè)部分分別賦予給一個(gè)數(shù)組的各個(gè)元素,,然后利用join方法將他們連接在一起(分隔符設(shè)置為空),,我們可以得到與“+”操作同樣的結(jié)果。這種方法類似于JAVA中的StringBuffer對象,。

var buffer = new Array();
buffer[buffer.length] = "Hello";
buffer[buffer.length] = " World";
 
buffer.join("");

測試

利用數(shù)組join方法連接字符串的好處在于它確確實(shí)實(shí)地提高了代碼的效率,。為了說明這個(gè)結(jié)論,作者做了一個(gè)測試,,測試結(jié)果如下:

方法

瀏覽器

最小值

最大值

平均值

傳統(tǒng)的字符串連接操作

IE 6

460ms

810ms

646ms

FF 1.5B1

15ms

47ms

26ms

利用數(shù)組的join方法

IE 6

15ms

32ms

26ms

FF 1.5B1

15ms

31ms

20ms

結(jié)論

在你的JavaScript應(yīng)用中使用數(shù)組的join方法能夠提高你的代碼效率,,給用戶帶來更加流暢的體驗(yàn),。

測試方法

function test1(){
                       var cycles = 10000;
                       var tp1 = new Date().valueOf();
                       var buffer = "";
 
                       for (var i = 0; i < cycles; i++)
                                            buffer += "0123456789";
 
                       var tp2 = new Date().valueOf();
                       
                       alert(tp2 - tp1);
}
 
function test2(){
                       var tp1 = new Date().valueOf();
                       var buffer = new Array();
                       
                       for (var i = 0; i < cycles; i++)
                                            buffer[buffer.length] = "0123456789";
                       
                       var str = buffer.join("");
                       var tp2 = new Date().valueOf();
                       
                       alert(tp2 - tp1);
}

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多