1.“+”号,此种方法最直观,但是效率最低。因为javascript中字符串是不可变的,连接时会开辟多余的存储空间(见参考资料),效率很低,在进行大量字符串的连接操作时,这无疑是致命的。
2.基于1,提出了将字符串放入array,最后再使用join()方法将Array转为字符串。可将此种操作封装为StringBuffer,这不失为一种最佳实践
3.string的contact()方法,此种方法不够直观,这可能是其少被提及的原因吧。用法如下:
参考:[url]http://dev.ivanchoi.name/javascript-string-to-connect-the-three-kinds-of-methods/[/url]
2.基于1,提出了将字符串放入array,最后再使用join()方法将Array转为字符串。可将此种操作封装为StringBuffer,这不失为一种最佳实践
var StringBuffer=function(){
this._strings = new Array();
}
StringBuffer.prototype.append = function(str){
this._strings.push(str);
}
StringBuffer.prototype.toString = function(){
return this._strings.join("");
}
3.string的contact()方法,此种方法不够直观,这可能是其少被提及的原因吧。用法如下:
var str1 = "hello";
var str2 = str1.contact(" world");//参数可以不止一个
alert(str1);//结果为"hello" str1是提供contact方法的字符串,其值不会改变
alert(str2);//我们想要的"hello world"
参考:[url]http://dev.ivanchoi.name/javascript-string-to-connect-the-three-kinds-of-methods/[/url]