Ich habe den folgenden Code in Ruby. Ich möchte diesen Code in JavaScript umwandeln. Was ist der entsprechende Code in JS?
text = <<"HERE"
This
Is
A
Multiline
String
HERE
Ich habe den folgenden Code in Ruby. Ich möchte diesen Code in JavaScript umwandeln. Was ist der entsprechende Code in JS?
text = <<"HERE"
This
Is
A
Multiline
String
HERE
Rubinrot produzieren : "This\nIs\nA\nMultiline\nString\n"
- unten JS produzieren genau die gleiche Zeichenfolge
text = `This
Is
A
Multiline
String
`
// TEST
console.log(JSON.stringify(text));
console.log(text);
Dies ist eine Verbesserung gegenüber Lonnie Beste Antwort weil die Zeilenumbrüche in seiner Antwort nicht genau die gleiche Position haben wie in der Ruby-Ausgabe
@FlatLander dies ist nur zu Testzwecken - um zu sehen, wo genau die Zeilenumbruchzeichen sind \n
(zum Vergleich mit der Ruby-Ausgabe (Arbeitsbeispiel in der Antwort verlinkt) ) - dies ist eine Verbesserung der Antwort von Lonnie, da die Zeilenumbrüche in seiner Antwort nicht genau die gleichen Positionen wie in der Ruby-Ausgabe haben
Das Äquivalent in javascript ist:
var text = `
This
Is
A
Multiline
String
`;
Hier ist die Spezifikation . Siehe Browserunterstützung am Ende dieser Seite Seite . Hier sind einige Beispiele auch.
Dies funktioniert in IE, Safari, Chrome und Firefox:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" thorn_in_my_side='<table border="0">
<tr>
<td ><span class="mlayouttablecellsdynamic">PACKAGE price $65.00</span></td>
</tr>
</table>'></div>
<script type="text/javascript">
alert($(".crazy_idea").attr("thorn_in_my_side"));
</script>
Denken Sie einfach darüber nach. Glauben Sie, dass das gültig ist? Glauben Sie nicht, dass es zu Anzeigeproblemen führen kann?
Warum werden die Beiträge heruntergestuft? Das ist eine kreative Antwort, wenn auch nicht sehr praktisch!
Nein, das ist es nicht. Man sollte lieber Templates verwenden: $.tmpl() ( api.jquery.com/tmpl ), oder EJS ( embeddedjs.com/getting_started.html ), usw. Ein Grund für Ablehnungen ist, dass es sich um keinen gültigen Code handelt und die Verwendung dieses Codes zu großen Anzeigeproblemen führen kann.
Zusammenfassend habe ich 2 hier aufgeführte Ansätze in der Benutzer-Javascript-Programmierung (Opera 11.01) ausprobiert:
Ich empfehle daher den Arbeitsansatz für Opera-Benutzer JS-Benutzer. Im Gegensatz zu dem, was der Autor sagte:
Es funktioniert nicht mit Firefox oder Opera, sondern nur mit IE, Chrome und Safari.
Es funktioniert in Opera 11. Zumindest in Benutzer-JS-Skripten. Schade, dass ich die einzelnen Antworten nicht kommentieren oder hoch bewerten kann, das würde ich sofort tun. Wenn möglich, jemand mit höheren Privilegien tun Sie es bitte für mich.
Dies ist mein erster richtiger Kommentar. Ich habe vor 2 Tagen das Privileg erhalten, die Antwort, die ich oben erwähnt habe, hochzuvoten, also habe ich sie sofort hochgevotet. Vielen Dank an alle, die meinen schwachen Versuch zu helfen hochgevotet haben.
Meine Erweiterung zu https://stackoverflow.com/a/15558082/80404 . Er erwartet einen Kommentar in der Form /*! any multiline comment */
wobei das Symbol ! verwendet wird, um das Entfernen durch Minification zu verhindern (zumindest für den YUI-Kompressor)
Function.prototype.extractComment = function() {
var startComment = "/*!";
var endComment = "*/";
var str = this.toString();
var start = str.indexOf(startComment);
var end = str.lastIndexOf(endComment);
return str.slice(start + startComment.length, -(str.length - end));
};
Ejemplo:
var tmpl = function() { /*!
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
</ul>
</div>
*/}.extractComment();
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.