Frage

In c # und Rubin und viele andere Sprachen können Sie eine Zeichenfolge bezeichnen, um nicht brauchen zu entkommen.
in c # its like this

string s = @"\whatever\this\is";

die Ergebnisse sind, wenn sie gedruckt

\whatever\this\is

Meine Frage ist, wird diese in irgendeiner Form in Javascript unterstützt?

War es hilfreich?

Lösung

Kurze Antwort: Nein

Lange Antwort: Noooooooooooooooooooooooooo

Andere Tipps

Ich weiß nicht, was Sie bekommen auf, aber eine Möglichkeit, das Problem der Flucht zu umgehen (usw.) ist ein Trick, dass John Resig zu wie viel scheint. Sie umfassen <script> Blöcke auf einer Seite, sondern geben ihnen eine „Art“ wie „text / plain“, um sicherzustellen, dass der Browser sich nicht an Javascript nicht übergeben. Verwenden Sie dann den Text des Skriptblock für was Sie wollen.

<script id='a_string' type='text/plain'>
  Here is some stuff.
  There might be some \escape sequences in it.
</script>

Dann können Sie mit $('#a_string').text() greifen, dass (oder mit getElementById wenn Sie nicht jQuery oder so ähnlich verwendet wird).

Bearbeiten Hier ist John Resig Erklärung darüber, warum, wie das Zeug in Script-Blöcke fallen ist eine gute Idee:

  

Quick-Tipp: Einbetten von Skripten in der Seite, die einen unbekannten Inhaltstyp hat (wie im vorliegenden Fall - der Browser nicht weiß, wie ein text / html Skript auszuführen) werden einfach vom Browser ignoriert - und Suche Motoren und Screenreadern. Es ist eine perfekte Tarnvorrichtung für Vorlagen in Ihrer Seite schleichen. Ich mag diese Technik für quick-and-dirty Fälle verwenden, wo ich brauche nur eine wenig Vorlage oder zwei auf der Seite und etwas Licht will und schnell.

auf dieser Seite genommen: http://ejohn.org/blog/javascript-micro -templating /

sind Literalzeichenfolgen durch die Verwendung von ES6 Sprachfunktionen zur Verfügung. Knoten v4.x jetzt dieses und rund 90% der anderen ES6 Ergänzungen unterstützt auch.

https://developer.mozilla.org/en- US / docs / Web / JavaScript / Reference / template_strings

In JS Stringliterale werden als Template Strings bekannt. Und die Syntax ist ziemlich geradlinig.

Just Flucht der Fluchten

var myCrazyString = "\\yes\\we\\have\\no\\bananas"

Ich weiß, dass es sechs Jahre spät, aber ich habe eine Lösung für dieses Problem bekam;)

function literalString(regex) {
    return ('' + regex).slice(1, -1);
};

O.innerHTML = literalString(/\whatever\this\is/);
<pre id=O>

Sie im Grunde eine Regex Zeichenfolge konvertieren und entfernt die erste und letzte Zeichen.

Das wird funktionieren, solange Sie keine \x in den String werfen Sie!

var str = String.raw`\whatever\this\is`;

console.log(str);

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top