手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript 字符串连接的性能问题(多浏览器)
javascript 字符串连接的性能问题(多浏览器)
摘要:书中附带的测试代码如下复制代码代码如下:ExampleNote:ThelatestversionsofFirefoxseemtohavefi...

书中附带的测试代码如下

复制代码 代码如下:

<html>

<head>

<title>Example</title>

</head>

<body>

<p><strong>Note:</strong> The latest versions of Firefox seem to have fixed the string concatenation problem. If you are using Firefox 1.0 or later, the string buffer may actually take longer than normal string concatenation.</p>

<script type="text/javascript">

function StringBuffer() {

this.__strings__ = new Array;

}

StringBuffer.prototype.append = function (str) {

this.__strings__.push(str);

};

StringBuffer.prototype.toString = function () {

return this.__strings__.join("");

};

var d1 = new Date();

var str = "";

for (var i=0; i < 10000; i++) {

str += "text";

}

var d2 = new Date();

document.write("Concatenation with plus: " + (d2.getTime() - d1.getTime()) + " milliseconds");

var buffer = new StringBuffer();

d1 = new Date();

for (var i=0; i < 10000; i++) {

buffer.append("text");

}

var result = buffer.toString();

d2 = new Date();

document.write("<br />Concatenation with StringBuffer: " + (d2.getTime() - d1.getTime()) + " milliseconds");

</script>

</body>

</html>

在 Firefox/3.0.3中执行的结果如下:

Concatenation with plus: 5 milliseconds

Concatenation with StringBuffer: 10 milliseconds

在IE6中执行结果如下:

Concatenation with plus: 234 milliseconds

Concatenation with StringBuffer: 62 milliseconds

1.两种方式性能差别很大

2.看来IE6字符串连接处理能力比FF3很差呀

3.IE6和FF3两种方式结果相反,看来以后写连接优化还有注意浏览器呀

【javascript 字符串连接的性能问题(多浏览器)】相关文章:

JS中Eval解析JSON字符串的一个小问题

JavaScript中eval函数的问题

Javascipt中处理字符串之big()方法的使用

Javascript 不能释放内存.

在JavaScript中处理字符串之fontcolor()方法的使用

JavaScript中数组添加值和访问值常见问题

javascript实现行拖动的方法

JavaScript检查子字符串是否在字符串中的方法

javascript常用的方法分享

JavaScript中的条件判断语句使用详解

精品推荐
分类导航