str += "a" + "b" & str = str + "a" + "b"的性能比较
str += "a" + "b"在浏览器中的执行过程:
1、创建临时字符串,
2、将临时字符串设置为“ab”,
3、将临时字符串和str进行连接,
4、将结果赋值给str。
str = str + "a" + "b"在浏览器中的执行过程:
1、将"a"连接到str的后面,
2、将"b"连接到str后面。
等同于:
str += "a";
str += "b";
第二种方法不仅减少了执行的过程,而且避免了临时字符串的产生。在性能上要比第一种提高10%-40%(书上看的,没有验证)
原理:
除IE外,浏览器尝试扩展表达式左端的字符串的内存,并简单的将之后的字符串拷贝到它的末尾。