//開發中經常會有字符串連接的場景,一般都是用 “+”號,
//我們現在可以用另外兩種方式代替,因爲它們性能更優。
//原
var str = "hello ";
str += "world";
實際上,這段代碼在幕後執行的步驟如下:
1、存儲 "hello " 的字符串。
2、創建存儲 "world" 的字符串。
3、創建存儲連接結果的字符串。
4、把 str 的當前內容複製到結果中。
5、把 "world" 複製到結果中。
6、更新 str,使它指向結果。
每次完成字符串連接都會執行步驟 2 到 6,使得這種操作非常消耗資源。
如果重複這一過程幾百次,甚至幾千次,就會造成性能問題。解決方法是
用 Array 對象存儲字符串,然後用 join() 方法(參數是空字符串)
創建最後的字符串。想象用下面的代碼代替前面的代碼:
//現
var arr = new Array();
arr[0] = "hello ";
arr[1] = "world";
var str = arr.join("");
//性能更優
var buffer = new StringBuffer ();
buffer.append("hello ");
buffer.append("world");
var result = buffer.toString();