validar palabra numeros insertar funciones extraer cortar caracter cadenas cadena buscar javascript string readability maintainability

palabra - insertar caracter en cadena javascript



¿Cuál es la forma más limpia de escribir una cadena multilínea en JavaScript? (9)

¡Sí! Puede usar el carácter / para que JavaScript ignore los caracteres de final de línea .

str = ''line 1 / line 2 / line 3'';

Sin embargo, como lo señaló Elzo Valugi , esto no se validará utilizando JSLint.

Esta pregunta ya tiene una respuesta aquí:

Realmente no tiene que agregar nuevas líneas, solo algo legible.

¿Algo mejor que esto?

str = "line 1" + "line 2" + "line 3";


Aquí hay uno que puede ser útil durante el desarrollo al usar Chrome.

function FSTR(f) { // remove up to comment start and trailing spaces and one newline s = f.toString().replace(/^.*///* */r?/n/,""); // remove the trailing */} with preceeding spaces and newline s = s.replace(//n */*///s*/}/s*$/,"") return s; } s = FSTR(function(){/* uniform vec2 resolution; uniform float time; void main(void) { vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / resolution.xy; vec2 cc = vec2( cos(.25*time), sin(.25*time*1.423) ); ... float color = sqrt(sqrt(dmin))*0.7; gl_FragColor = vec4(color,color,color,1.0); } */});

Esto no funciona para Firefox , aunque funciona en Chrome.

Ejemplo de uso sería para escribir / probar sombreadores webgl. Durante el desarrollo, es mucho más agradable trabajar con él y, más tarde, siempre puede ejecutarlo con una expresión regular simple que convierte esa sintaxis en una versión de navegador cruzado.


Consecuentemente.

De cualquier forma que elija, hágalo exactamente de la misma manera a lo largo de su aplicación. Si está trabajando en una aplicación que ya tiene un código escrito, acepte la convención que establecen y vaya con él.


FYI. La forma en que lo sugieres es la forma correcta y mejor que las otras respuestas. JsLint solo valida tu versión.


Me gusta esta versión (diferente a la tuya solo en el formato del código):

var str = "line 1" + "line 2" + "line 3";


Podrías hacerlo

str = "/ line 1/ line 2/ line 3";

Como se mencionó en los comentarios, los analizadores de javascript manejan esta multa (funciona en todos los principales navegadores), pero no es oficialmente parte de la sintaxis de ECMA Script. Como tal, puede o no funcionar con compresores, verificadores de errores, y no se garantiza que funcione en los navegadores.

Esto puede ser más legible, pero no es la "mejor" manera de hacerlo. Tal vez el script ECMA admita algo como c # ''s @ "" algún día.


Casi idéntica a la respuesta de NickFitz:

var str = ["" ,"line 1" ,"line 2" ,"line 3" ].join(""); // str will contain "line1line2line3"

La diferencia, el código es un poco más fácil de mantener porque las líneas se pueden reordenar sin importar dónde están las comas. No hay errores de sintaxis.


Esto solo funcionará en los navegadores compatibles con E4X . Desearía que pudiéramos usarlo en IE.

var str = <><![CDATA[ Look, a multi-line string! < " // '' ? & ]]></>.toString();


var str = [ "line 1", "line 2", "line 3" ].join(""); // str will contain "line1line2line3"

Si realmente desea nuevas líneas en la cadena, reemplace .join("") con .join("/n") /