2010-06-30 6 views
122

Ich weiß, dass in PHP der einzige Unterschied zwischen doppelten Anführungszeichen und einfachen Anführungszeichen die Interpretation von Variablen in einem String und die Behandlung von Escape-Zeichen ist.Unterschied zwischen einfachen Anführungszeichen und Anführungszeichen in Javascript

In JavaScript sehe ich oft doppelte Anführungszeichen in Strings. Gibt es einen bestimmten Grund dafür, oder sind einfache Anführungszeichen genauso wie doppelte Anführungszeichen?

+46

Das doppelte Anführungszeichen erfordert, dass Sie die Shift-Taste drücken. Riesiger Energiesparmodus, um einzelne Anführungszeichen zu verwenden. :) – MatrixFrog

+3

@MatrixFrog Es gibt viele andere Tastaturen, wo Sie Schicht für beide drücken müssen, zB in Deutschland, Ungarn, Österreich, etc. – totymedli

+2

Nun, eigentlich muss ich Shift für einfache Anführungszeichen drücken, aber nicht für double Zitate (die meisten türkischen Q-Tastaturen). Und ich missbrauche dies mit doppelten Anführungszeichen in PHP und JavaScript, außer wenn einfache Anführungszeichen erforderlich sind. –

Antwort

129

Sie möchten einfache Anführungszeichen verwenden, wenn doppelte Anführungszeichen innerhalb der Zeichenfolge angezeigt werden sollen (z. B. für HTML-Attribute), ohne dass diese entfernt werden müssen oder umgekehrt. Ansonsten gibt es keinen Unterschied.

+0

hasst Kannst du erklären, wann man doppelte Anführungszeichen benutzt n einfache Anführungszeichen. Gibt es Unterschiede zwischen diesen beiden $ ("[href $ = '. Jpg']"), $ ('[href $ = ". Jpg"]') – Anshu

+0

@Anshu, sagte Karim 'oder umgekehrt' ...Er sagt also, dass es für BEIDE Fälle wie das, was Sie gesagt haben, verwendet wird. –

+1

@Anshu 'var answer =" Es ist in Ordnung "; // einfaches Zitat in Anführungszeichen' 'var answer =" Er heißt 'Johnny' "; // einfache Anführungszeichen in Anführungszeichen 'var answer = 'Er heißt" Johnny "; // doppelte Anführungszeichen in einfachen Anführungszeichen – broadband

36

Absolut kein Unterschied. KOSTENLOSE ANGEBOTE YEEHHAAA

+2

Einfach so kurz ist das Ziel der Programmierung +1 – Callat

8

Sie sind die gleichen, ich verwende normalerweise einfache Anführungszeichen, aber das ist, weil ich ein .net Entwickler und asp.net insbesondere bin, so dass es mir hilft, zwischen den 2 Arten von Zeichenfolgen zu unterscheiden.

+2

Warum ein Downvote? – Pharabus

+13

Wahrscheinlich, weil er ASP.Net-knuckle- –

50

Es gibt einen Unterschied in JSON - Der JSON-Standard gibt an, dass alle Schlüssel/Wert-Paare in doppelte Anführungszeichen gesetzt werden sollen. (Danke an wulfgarpro in den Kommentaren), also habe ich angefangen so viel wie möglich in Anführungszeichen zu setzen, damit ich keine Fehler mache, wenn ich mit JSON zu tun habe.

+30

Ich persönlich denke, es ist viel besser, nicht zu versuchen, JSON selbst zu lesen und zu schreiben. Ich habe immer JSON.parse und JSON.stringify, so dass es mir frei steht, einfache Anführungszeichen, doppelte Anführungszeichen oder gar keine Anführungszeichen zu verwenden, ohne sich Gedanken darüber machen zu müssen, dass Fehler an anderer Stelle auftreten. – MatrixFrog

+5

Bitte erklären Sie den Unterschied in JSON? – staticboy

+15

@staticboy - Der JSON-Standard gibt an, dass alle Schlüssel/Wert-Paare in doppelte Anführungszeichen gesetzt werden sollen. – wulfgarpro

-4

Ich habe gerade einen Unterschied gefunden. Ich mache eine mobile Website, aber ich habe größtenteils auf Desktop-Firefox getestet. Dies funktioniert gut für Firefox:

ABER ... es funktioniert nicht auf mobilen Safari (iPhone 3GS mit iOS 6.1). Um es auf mobilen Safari funktioniert, müssen Sie doppelte Anführungszeichen verwenden:

var searchArray = searchValue.split(" "); // Split a string at the spaces. 

Wenn Sie keine doppelte Anführungszeichen verwenden, ist es nicht gespalten, es setzt nur die gesamte Zeichenfolge in das erste Array-Element. Das war ein richtiger Puzzlespiel für mich und brauchte eine ganze Weile, um herauszufinden; Ich weiß nicht, was mich überhaupt dazu gebracht hat, die Zitate zu wechseln, weil ich dachte, sie sollten immer so handeln. Ich habe zu diesem Problem nichts gefunden, indem ich gegoogelt habe, also wird das vielleicht jemandem helfen.

+1

FYI: Ich habe auf einem iPhone 5/iOS 6.1 getestet und sah dieses Problem nicht. –

+2

Es ist sehr unwahrscheinlich, dass dies wahr ist. Sonst wäre eine Menge Webseiten beim iOS kaputt. – JJJ

11

Im Gegensatz zu PHP, für die Änderungen doppelte oder einfache Anführungszeichen verwenden, wie die Zeichenfolge interpretiert wird, gibt es keinen Unterschied in den beiden Syntaxen in ECMAScript. Eine Zeichenfolge, die doppelte Anführungszeichen verwendet, entspricht genau der Zeichenfolge, die einfache Anführungszeichen verwendet. Beachten Sie jedoch, dass ein String, der mit einem doppelten Anführungszeichen beginnt, mit einem doppelten Anführungszeichen enden muss, und ein String , der mit einem einfachen Anführungszeichen beginnt, muss mit einem einfachen Anführungszeichen enden.

Nicholas C. Zakas - Professional JavaScript für Web-Entwickler