JS拼接字符串,一种是用变量 += ,另一种是用 join。这个办法我早就知道,但一直用的不是很熟练,今天就复习一下。
第一是js的字符串连接方式;
第二是把length给缓存起来,不要每次操作都去读length的值。
在JS里,字符串一但赋值之后,就不能修改了。例如,
var xx = 123;
xx = 456;
console.log(xx);// 456
我原来以为这不就是把xx的值改为456了嘛。但事实上,是JS新建一个临时字符串,把它赋值为456,然后返回这个新字符串,还同时销毁了原始的字符串。
你看这好几个步骤,这是有资源开销的,所以这种的效率很低。更好的办法就是 join,例如:
var arr = [],axx, bxx;
axx = 'abc xx';
arr.push(axx);
arr.push(',bxxx');
bxx = arr.join('');
这就是用 join 把数组中的元素,放到一个字符串里了。至少看起来是比 += 快的。
但在JS高程里也提了,说是,,,反正大意慢说现在新版本浏览器已经解决了 += 效率低的问题。
就是说 += 和 join的效率是一样的。我是没测试过,就当复习这个知识点吧。