Backslash '\' in der Konsole.log() nicht erscheinen
Ich versuche, einen umgekehrten Schrägstrich in console.log()
und innerhalb <p></p>
aber es scheint, dass, wenn die Seite geladen wird, werden alle back-slashes entfernt werden.
Beispiel JS
console.log('\m/Lets rock. \m/');
Ergebnis
m/Lets rock. m/
Wie kann ich verhindern, dass es entfernt werden?
EDIT: Backslash, nicht slash. Dies wird ausgeführt auf node.js mit express, innerhalb der <head>
tags layout.jade
. Backslash sichtbar in REPL, aber nicht beim laufen auf Knoten in einem web-browser (Chrome & Firefox).
- es funktioniert sehr gut für mich.
- warten Sie -- so: "\" ist ein backslash und das: "/" ist ein Schrägstrich. Das ist die eine, die Sie sehen, entfernt?
- Sie nicht bedeuten, dass die backslashes `\` entfernt wird?
- Seine backslash, sorry war verwirrt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
m/Lets rock. m/
ist dein Ergebnis, ich sehe Schrägstriche.Wenn du meinst backslashes, zu entkommen und Ihnen zu zeigen, dass der string will einen literalen backslash:
Sonst, JavaScript interpretiert dies als eine
\m
EscapeSequence. Das ist, warum Sie benötigen, um die\\
EscapeSequence.Die Lösung war, dass die backslashes benötigt werden, doppelt escaped:
...anscheinend sind die backslashes werden so verarbeitet, als Escapezeichen zweimal (einmal in der ersten Zeichenfolge Schöpfung, dann wieder für einen anderen Zweck).
Also der string Schöpfung gibt uns:
...dann wird die Folgeverarbeitung Ergebnisse in:
\m/ Lets rock. \m/
. Dies ist, wie Zeichenfolgen in JavaScript. Versuchen Sie es erneut.console.log()
im Knoten? Ich habe gerade versucht, und es funktioniert für mich mit dem REPL. Versuchen Sie dies:console.log('\u005Cm/ Lets rock. \u005Cm/');
console.log()
im Knoten und alle \ entfernt wurden. Aber in REPL es nicht verschwindet.\
.console.log()
im<head>
vonlayout.jade
. Nope, einfach einen string übergeben, inconsole.log
.\
nicht mir / im web-browser\\\\m/
im Fall Sie müssen doppelt escaped.\\\\m/
funktioniert 🙂habe diese doppelt bis
\
ist das escape-Zeichen. Sie müssen, um es zu entkommen.Es ist eigentlich die *zurück*Schrägstrich wird entfernt, weil
\m
entsprichtm
in einem string-literal in JavaScript. Sie müssen, um es zu entkommen, indem Sie mit einem weiteren umgekehrten Schrägstrich:Informationen umgekehrte Verhalten in string-literalen, siehe https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Core_Language_Features#Using_Special_Characters_in_Strings.
Flucht
\
mit\
(das sieht so blöd wie\\
im code)Und fügen Sie ein Komma vor 'm' für eine ordnungsgemäße speudo-text rock-hand-Zeichen, z.B.
\.m/
, nicht\m/
Sie haben zu entkommen den backslash mit einem
\
daher sollte ganz einfach\\
statt\
.