国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中String和StringBuffer的速度之爭

2024-05-06 14:10:45
字體:
來源:轉載
供稿:網友
顯示情況時Javascript中并沒有StringBuffer類,一種主流的Javascript StringBuffer類的實現是通過prototype構造一個StringBuffer類。
StringBuffer.js
代碼如下:
function StringBuffer(){
this.content = new Array;
}
StringBuffer.prototype.append = function( str ){
this.content.push( str );
}
StringBuffer.prototype.toString = function(){
return this.content.join("");
}

現在讓我們寫一個測試用例:
TestStringBUffer.html
代碼如下:
<html>
<head>
<title>test</title>
<script type="text/javascript“ language="javascript" src="StringBuffer.js"></script>
<script>
function testStringBuffer(){
var date1 = new Date();
var str;
for( var i=0; i<10000; i++){
str += "text";
}
var date2 = new Date();
document.writeln("Sting use time:"+ (date2 - date1) +"ms");
var date3 = new Date();
var strBuffer = new StringBuffer();
for(i=0; i<10000; i++){
strBuffer.append("text");
}
strBuffer.toString();
var date4 = new Date();
document.writeln("<br/>StringBuffer use time:"+ (date4 - date3) +"ms");
}
</script>
</head>
<body>
<input type="button" value="testStringBuffer" onclick="testStringBuffer()"/>
</body>
</html>

現在讓我們來測試下,看看會有什么發生:
IE8:
Sting use time:11ms
StringBuffer use time:47ms
結果是StringBuffer不但沒有比String效率高,反而使低了不少。難道是前輩們錯了?
那讓我們再在別的瀏覽器中看看吧:
IE7:
Sting use time:266ms
StringBuffer use time:78ms
IE7中StringBuffer的優勢很明顯。
可以看到,在現在的主流瀏覽器中,都對String類的字符串連接作了優化,所以性能要好于自定義的StringBuffer類,但是在比較老的瀏覽器中,StringBuffer類的優勢仍然很明顯。具體在實際中就需要對瀏覽器進行判斷。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 保定市| 原平市| 黑河市| 手游| 郯城县| 南澳县| 崇明县| 南投市| 琼海市| 多伦县| 明水县| 宁晋县| 历史| 泰来县| 凉城县| 呈贡县| 定结县| 安顺市| 永新县| 康保县| 工布江达县| 隆尧县| 济阳县| 鸡泽县| 浠水县| 虹口区| 始兴县| 永宁县| 鄂托克前旗| 洛阳市| 博湖县| 二手房| 中卫市| 古蔺县| 梁平县| 桐庐县| 惠东县| 榆社县| 富顺县| 中宁县| 客服|