2010-03-17 32 views

回答

14

使用+=

var s = 'begin'; 
s += 'ning'; 
+1

哈 - 應該猜到了! – Haroldo 2010-03-17 12:54:50

1

是:my_var += 'extra string';

1
+= 

例子:

my_var += "extra string"; 
5

性能提示 —這個建議對IE6有效,但在2014年不再值得擔心)

如果你正在編寫一些Javascript代碼來建立一個長字符串(比如說,一個相當大的HTML塊或者一個長參數列表Ajax請求),然後不這樣做的習慣得到:

var longString = ""; 
for (var i = 0; i < someBigNumber; ++i) { 
    if (i > 0) longString += "<br>" + whatever; 
    longString += someMoreStuff(); 
} 

由於longString變長,Internet Explorer將粉撲難當在每次循環。即使someBigNumber不是那麼大,該循環的性能可能非常糟糕。

幸運的是,有一個簡單的選擇:使用數組:

var accumulator = []; 
for (var i = 0; i < someBigNumber; ++i) { 
    accumulator.push(someMoreStuff()); 
} 
var longString = accumulator.join("<br>" + whatever); 

方式,方法更快在Internet Explorer不是重複的字符串追加。

+2

更棒的是,Pointy,你是個大人物,用框架做這樣的事情!框架通常非常優化,並且通常以經過充分測試,高效,安全的方式完成大部分任務。 – Pointy 2010-03-17 14:07:20

+0

哈哈(15個字符)。 – BalusC 2010-03-17 14:13:24

+0

很好的答案,正準備寫出來。 – user187291 2010-03-17 14:17:42

相關問題