2010-03-17 15 views

Respuesta

14

Uso +=

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

ha - ¡debería haberlo adivinado! – Haroldo

1

Sí: my_var += 'extra string';

1
+= 

Ejemplo:

my_var += "extra string"; 
5

Rendimiento Tip (nota — este consejo es válido para IE6, pero ya no vale la pena preocuparse en 2014)

Si está escribiendo código JavaScript para crear una cadena larga (por ejemplo, un bloque bastante grande de HTML o un parámetro largo) lista para una solicitud Ajax), entonces no consiguen en el hábito de hacer esto:

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

a medida que el longString se hace más largo y más largo, Internet Explorer se hinchan más y más difícil en cada iteración del bucle. Incluso cuando someBigNumber no es tan grande, el rendimiento de ese bucle puede ser realmente terrible.

Afortunadamente, hay una alternativa fácil: utilizar una matriz:

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

manera, manera más rápida en Internet Explorer que añade la cadena repetida.

+2

Mejor aún, ¡Pointy, muñeco grande, haz cosas así con un marco! Los marcos generalmente están muy bien optimizados, y generalmente harán la mayoría de las cosas de una manera probada, eficiente y segura. – Pointy

+0

Lol (15 caracteres). – BalusC

+0

Buena respuesta, estaba a punto de escribir eso. – user187291

Cuestiones relacionadas