La razón por la que no funciona es porque las cadenas javascript deben terminarse antes del siguiente carácter de nueva línea (no es un \n
obviamente). El motivo \n
existe es permitir a los desarrolladores una forma fácil de poner el carácter de nueva línea (ASCII: 10) en sus cadenas.
Cuando usted tiene una cadena que se parece a esto:
//Note lack of terminating double quote
var foo = "Bob
Su código tendrá un error de sintaxis en ese punto y dejará de funcionar.
Si usted desea tener una cadena que se extiende por varias líneas, es posible insertar un carácter de barra invertida '\
' justo antes de terminar la línea, así:
//Perfectly valid code
var foo = "Bob \
is \
cool.";
Sin embargo esa cadena se no contener \n
caracteres en las posiciones donde la cuerda se dividió en líneas separadas.La única forma de insertar una línea nueva en una cadena es insertar un carácter con un valor de 10, cuya forma más fácil es el carácter de escape \n
.
var foo = "Bob\nis\ncool.";
Ese * es * '\ n' (a menos que sea posiblemente también' \ r') –
Creo que quiso decir que no están expresados con la secuencia de escape '\ n', sino que el personaje está literalmente en la fuente código. – Pointy
@Pointy: pero el resultado seguiría siendo el mismo, siempre que no se tratara de un error de sintaxis. – Evert