2010-03-17 33 views

cevap

14

Kullanım +=

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

ha - bunu tahmin etmeliydim! – Haroldo

1

Evet: my_var += 'extra string';

1
+= 

Örnek:

my_var += "extra string"; 
5

Performans İpucu (not — bu tavsiye IE6 için geçerlidir, ancak artık 2014'te endişelenmeye değmez)

Uzun bir dize oluşturmak için biraz Javascript kodu yazıyorsanız (örneğin, oldukça büyük bir HTML bloğu veya uzun bir parametre) bir ajax isteği için liste), sonra bu yapma alışkanlığı alamadım: longString daha uzun ve daha uzun olur

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

itibarıyla Internet Explorer döngünün her tekrarında daha sert ve daha kabarır. someBigNumber gerçekten bu kadar büyük olmadığında bile, bu döngünün performansı gerçekten korkunç olabilir.

Neyse ki, kolay bir alternatif var: bir dizi kullanın: tekrarlanan dize ekler daha Internet Explorer yolu daha hızlı

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

Yolu.

+2

Daha da iyisi, Pointy, sen büyük kukla, bir çerçeve ile böyle şeyler yap! Çerçeveler genellikle çok iyi optimize edilmiştir ve genellikle her şeyi iyi test edilmiş, verimli ve güvenli bir şekilde yapar. – Pointy

+0

Lol (15 karakter). – BalusC

+0

İyi cevap, bunu yazmak üzereydi. – user187291

İlgili konular