JavaScript string-Initialisierung
In JavaScript, von meinem Verständnis, die unten sind alle gleich:
var carter2 = new String();
var carter2 = '';
var carter2 = "";
Welche ist am meisten bevorzugt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht verwenden
Weil
Aber
Jedoch aufgrund der Art Zwang, die folgenden arbeiten (Danke an Rocket für den Hinweis it out)
Einfache und doppelte Anführungszeichen sind nicht wichtig, außer für das, was zitiert werden müssen, entgangen ist.
Viele andere haben darauf hingewiesen, dass einzelne Zitate sind besser, wenn das erstellen von HTML-strings, da XHTML erwartet, dass Attribute zu haben, die doppelten Anführungszeichen, und Sie müssen nicht, Ihnen zu entkommen.new String('dog') == 'dog'
ist wahr, abernew String('dog') === 'dog'
ist falsch. Hinweis: die==
vs.===
.Wenn dabei
new String()
, Sie sind nicht zurückgegeben einstring
primitiv, aber einString
Objekt.Für alle Absichten und Zwecke, Sie wirkt wie ein
string
primitiv, aber es gibt Fälle, wo es nicht. Zum Beispiel:Sich auch beim Vergleich der Dinge, kann es sein problem. Wenn Sie einen Vergleich mit Objekten in JavaScript, es ist nur
true
wenn Sie die exakt gleiche Objekt, nicht nur den gleichen Wert. Beispiel:Können Sie
.valueOf()
konvertierenString
Objekt zu einemstring
primitiv.So, ich hoch empfehlen
var a = ''
odervar a = ""
. Wie bei single quotes vs. double quotes, gibt es keinen Unterschied. Betrachten Sie dieses Beispiel:So, es ist bis zu Sie, ob
'
oder"
, aber ich schlage vor, die übernew String()
.Während
''
und""
sind die gleichen (Sie sind "primitive"),new String()
ist nicht, denn es gibt eineString
Objekt.Sehen Unterschied zwischen string-primitive und
String
- Objekte.Bevorzuge ich
var carter2 = '';
weil:Also ich bevorzuge die Verwendung von einfachen Anführungszeichen in java-script doppelte Anführungszeichen für html-Attribute.
UPD: dies ist meine Vorliebe, ich weiß, dass single-Anführungszeichen sind austauschbar.
<a href='http://google.com'>Google</a>
.Definitiv auch ohne Konstruktor-Funktion aufrufen.
Also entweder einzelne oder doppelte Anführungszeichen (d.h. wörtlich).
Hinweis, diese Art der Optimierung (wörtliche vs. Konstruktor) ich glaube, dass wäre nur von Belang, wenn Sie Hunderte oder Tausende von diesen Aussagen allerdings.
'
und"
, aber es gibt eine großen Unterschied zwischen primitiven undString
Objekte.String
Objekt. Siehe die anderen Antworten für die Bedeutung der Differenz.