字符串连接优化

拼接字符串是JS中常用的操作,下面对IE及其他浏览器做一定测试,找出最快的拼接方式

例1:

var str += 'a' + 'b';


1. 创建一个临时字符串

2. 连接后的字符串'ab'被赋值给临时字符串

3. 临时字符串与str当前值连接

4. 结果赋值给str

 

例2:

var str += 'a';

var str += 'b';

 

1. 字符‘a'与str当前值连接

2. 结果赋值给str

可以看出比例1省了第一,二步,也增加了给str增加字符数的步骤,我个人认为只是省略了创建临时字符串

 

例3:

var str = str + 'a' + 'b';

1. 逐步把'a','b'的值添加到str后面

2. 最后把结果赋值给str

 

以上3个例子是在非IE和IE8+环境下,在IE7及以下IE版本,该效果并没有得到优化,反而变的更慢,下面看例子

 

var d1 = new Date.getTime(),   

  str = 'abcdefabcdefabcdefabcdef',

  newStr = '',

  appends = 5000;

while(appends--){

  newStr += str;

}

var d2 = new Date.getTime();

alert(d2 - d1);

在>=IE7浏览器中运行时间为200ms+,明显显示出速度非常慢。

 

明天写一下 IE7的优化方法。。。

posted @ 2012-07-21 22:48  風_shī~`才子  阅读(150)  评论(0)    收藏  举报