22 Stimmen

JavaScript: String im Quellcode über mehr als eine Zeile

Frage von Chematik | 31.12.2011 um 15:30

Von der Programmierung in PHP bin ich es gewohnt, dass man Strings über zwei Zeilen im Quellcode schreiben kann, was die Übersichtlichkeit erheblich verbessert. Wenn ich also einen langen String habe und der nicht mehr in eine Zeile passt, drücke ich Enter und lande in der nächsten Zeile und alles bleibt schön übersichtlich.

Jetzt habe ich dasselbe beim Programmieren von JavaScript probiert. Also sowas wie:

alert('Dies ist ein langer String
der über mehrere Zeilen
läuft');

Aber das scheint nicht zu funktionieren! Es kommt immer zu einer Fehlermeldung! Was mache ich falsch bzw wie kann ich so einen langen String im Quelltext niederschreiben?

AntwortenPositivNegativDatumStimmen
Avatar
22 Stimmen

Du kannst das in JavaScript so machen, dass du lange Strings einfach mit einem Plus verbindest. Also in etwa so:

alert('Dies ist ein langer String ' +
'der über mehrere Zeilen ' +
'läuft');

Damit kannst du auf jeden Fall das erreichen, was du willst. Wieso es mit den Umbrüchen wie in deinem Beispiel nicht funktioniert, weiß ich nicht. Umständlicher ist das mit dem Plus ja auch noch.
02.01.2012 um 18:26

AntwortenPositiv Negativ
Avatar
11 Stimme

In JavaScript muss man einen Zeilenumbruch in einem String mit \n kennzeichnen. Daher sind "echte Zeilenumbrüche", die mit der Enter Taste auf der Tastatur erzeugt wurden in Strings nicht möglich und das ist genau das, was du in deinem Beispiel oben versucht hast.

In PHP ist das anders. Hier kann man auch die Enter-Taste drücken, um innerhalb eines Strings einen Zeilenumbruch zu erzeugen. Wird der String mittels echo ausgegeben ist er natürlich nur im Quellcode sichtbar, denn dargstellt werden nur <br>, <p> und Co als echter Zeilenumbruch in HTML.

Um zu deinem Beispiel zurückzukommen. Hier gibt es zwei Möglichkeiten:

//Erste Möglichkeit
alert('Dies ist ein ' +
'langer String');

//Zweite Möglichkeit
alert('Dies ist ein \
langer String');

Entweder machst du es, wie von PlasmaTV vorgeschlagen und verbindest mehrere Strings miteinander oder du schreibst einen Backslash an das Ende jeder Zeile. Die erste Möglichkeit ist dabei vorzuziehen, da mit der zweiten Möglichkeit eventuell nicht jeder Browser klar kommt.
05.01.2012 um 13:03

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.