1. Schließen Sie Tags ohne Skript selbst zu schließen
Verwenden Sie selbst klingende Tags im Skript. Obwohl es in XHTML legal ist, entspricht es nicht den HTML -Spezifikationen und kann einige Browser nicht richtig analysieren. Ich habe diese Methode verwendet, als ich ext einführte, was dazu führte, dass das Skript nicht richtig ausgeführt werden konnte.
<script src="example.js"/> --> <script src="example.js"></script>
2. Stellen Sie das Skript vor </body> vor
Wenn Sie die Skriptdatei in <Head> einfügen, müssen Sie das Skript herunterladen und ausführen, bevor Sie die Seite anzeigen, wodurch die Wartezeit des Benutzers erhöht wird. Legen Sie das Stylesheet in <kopf>, um zu verhindern, dass der Inhalt ungewöhnlich angezeigt wird. Die allgemeine Methode lautet wie folgt:
<! DocType html> <html lang = "en"> <kopf> <meta charset = "utf-8"> <title> document </title> <link rel = "stylesheet" type = "text/csS" href = "themen.css"/> </head> <body> <!-html code-> <cript-< src = "example.js"/> </body> </html>
3. Verwenden Sie den strengen Modus innerhalb der Funktion
Wenn Sie den strengen Modus außerhalb der Funktion verwenden, kann dies dazu führen, dass die Bibliothek der Drittanbieter und der Code der Kollegen nicht ordnungsgemäß funktionieren. In der Funktion kann es nur Ihren eigenen Code und nicht den Code anderer beeinflussen.
Funktion myfunction () {"Strict verwenden"; // Funktionscode}4. Lassen Sie das Semikolon am Ende der Erklärung nicht weg
Kein Semikolon am Ende des Codes kann leicht Komprimierungsfehler verursachen. Darüber hinaus kann in einigen Fällen die Leistung des Codes verbessert werden. Der Dolmetscher sollte keine Zeit damit verbringen, zu erraten, wo Semikolonen einfügen sollen. Ein weiteres häufigeres Problem ist, dass das automatische Einfügen von Semikolonen manchmal Fehler machen kann, sodass nicht empfohlen wird, Semikolone wegzulassen.
5. Verwenden Sie var, um Variablen zu definieren
Verwenden Sie das VAR -Schlüsselwort beim Definieren von Variablen und alle werden zum Beginn der Funktion erweitert.
Die Vorteile, dies zu tun, verhindert, dass Sie unbewusst globale Variablen erstellen und Ihren Code leichter verstehen.
Funktion myfunction () {var result = 10 + Wert; var value = 10; Rückgabeergebnis;}Es gibt kein Problem mit dieser Funktionssyntax, ist aber nicht sehr intuitiv und entspricht nicht der menschlichen Logik. Es wäre besser, es wie folgt zu ändern:
funciton myfunction () {var result; VAR -Wert; Ergebnis = 10 + Wert; Wert = 10; Rückgabeergebnis; }Lassen Sie mich Ihnen erklären, dass die beiden oben genannten Codes gleichwertig sind und der Wert des Ergebniss NAN ist. JavaScript fördert alle variablen Erklärungen in der Funktion zum Beginn der Funktion. Code 1 wird Code 2, wenn der Code ausgeführt wird. Wenn es zu Ergebnis ausgeführt wird = 10 + Wert;
Jeder muss sich über die Probleme, die durch globale Variablen verursacht werden, klar sein, sonst würde das Konzept des Namespace nicht erscheinen.
6. Deklarieren Sie zuerst die Funktion und verwenden Sie sie dann
Wie bei variablen Deklarationen werden auch Funktionserklärungen durch die JavaScript -Engine erweitert, sodass im Code der Anruf der Funktion vor der Deklaration der Funktion angezeigt wird. Eine andere Sache, die erwähnenswert ist, ist, dass Funktionserklärungen nicht in Anweisungsblöcken erscheinen sollten, wie z. B.:
if (Bedingung) {Funktion myFunction () {alert ("true"); }} else {function myFunction () {alert ("false"); }} myfunction ();Wenn wir den Code ausführen, stellten wir fest, dass die Ausgabe mit dem Browser zusammenhängt. Es gibt True in Chrome 51 und Firefox 46 aus und falsch in IE 10. Versuchen Sie also, Funktionen in Anweisungsblöcken zu deklarieren.
7. Verwenden Sie den Typ von untergestandenem Null mit Vorsicht
Null ist ein besonderer Wert, mit dem wir oft und Defined verwechselt werden. Die folgenden Szenarien sollten NULL verwenden:
Null sollte in folgenden Situationen nicht verwendet werden:
Der beste Weg, um Null zu verstehen, besteht darin, es als Platzhalter für das Objekt zu verwenden. Der Grund, warum wir Null und Undefined oft verwirren, ist, dass wir der Meinung sind, dass Null und undefined beide Variablen sind, die nicht initialisiert werden, sondern und undefined bedeutet, dass eine Variable nicht initialisiert wurde, und Null bedeutet, dass sie als Objekt initialisiert wird. Schauen Sie sich den folgenden Code an:
var person; console.log (typeof Person); //undefinedConsole.log(Typeof foo); // undefinedVar House = null; console.log (Typof House); //Objekt
Versuchen Sie also nicht zu bestimmen, ob die Variable initialisiert wird. Sie können nicht sicher sein, ob die Variable nicht existiert oder die Variable nicht initialisiert wird. Die Rückgabe von Null ist auch nicht sicher, ob die Variable korrekt zugewiesen wurde. Achten Sie daher darauf, Typen zu verwenden.
8. Seien Sie vorsichtig mit dem Nummerntyp
Ich glaube, jeder weiß, dass JavaScript -Ganzgeräte Dezimal-, Oktal- und hexadezimale Literalwerte unterstützen. Wenn der numerische Wert im wörtlichen Wert den Bereich in Oktal überschreitet, wird das führende Null ignoriert und der nachfolgende numerische Wert als dezimal analysiert.
console.log(012); //10
console.lgo (082); // 82
Wenn Oktal und Hexadezimal für Dezimalstellen verwendet werden, wird es einen Syntaxfehler geben. Ein weiterer Punkt ist, dass Oktalliterale im strengen Modus ungültig sind. Jeder kennt das Problem der Floating Point -Berechnungsfehler. Dies gilt für alle schwimmenden Punktberechnungen, die auf den IEEE754 -Werten basieren. Testen Sie also niemals einen bestimmten schwimmenden Punktwert.
Der numerische Typ, NAN (nicht eine Zahl), enthält einen besonderen Wert, der verwendet wird, um anzuzeigen, dass der Wert zurückgegeben werden sollte, aber nicht der numerische Typ ist. Nan und jeder Wert sind nicht gleich, einschließlich Nan selbst. Wir können die Isnan () -Funktion verwenden, um zu testen.
9. Dynamische Zuordnung unter Verwendung logischer Operationen
Was du bevorzuge
var Person = {Alter: 10} var Zustand; var myvar = Bedingung && Person; alert (myvar)Wenn die Bedingung in den booleschen Typ false umgewandelt wird, dann myvar = Bedingung, wenn wahr, dann myvar = Person.
var Person = {Alter: 10} Var -Zustand; var myvar = Bedingung || Person; Alarm (myvar)Wenn die Bedingung in boolean und true umgewandelt wird, dann myvar = Bedingung, wenn falsch, dann myvar = Person.
10. Verwenden Sie die mit Anweisung nicht
Ein wichtiger Grund für die Nichtverwendung ist, dass die Syntax selbst im strengen Modus die mit Erklärung deaktiviert, die auch zeigt, dass das ECMAScript -Komitee davon überzeugt ist, dass nicht verwendet werden sollte. Schauen wir uns das folgende Beispiel an:
var book = {title: "morteable JavaScript", Autor: "Nicholas C. zakas"}; var message = "Das Buch ist"; mit (Buch) {message += title; Nachricht + = "von" + Autor;}Das Problem mit dem oben genannten Code ist, dass es für uns schwierig ist, den Ort zu unterscheiden, an dem Titel und Autor erscheinen, und es ist auch schwierig, eine lokale Variable zu unterscheiden, die von der Nachricht oder einer Eigenschaft eines Buches angesprochen wird. Darüber hinaus können JavaScript -Engine- und Komprimierungs -Tools diesen Code nicht optimieren, sodass sie die richtige Bedeutung des Codes nicht erraten können.
Okay, es gibt bereits zehn Artikel, sehen wir uns die nächsten zehn.