English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Jeder schreibt JavaScript auf seine Weise. Aber es gibt viele Gemeinsamkeiten, hier ist eine einfache Liste von Erfahrungshinweisen und注意事项, um Ihnen den Weg zu erleichtern.
Vermeiden Sie das Verwenden von globalen Variablen so weit wie möglich. Dies umfasst alle Datentypen, Objekte und Funktionen.
Globale Variablen und Funktionen können von anderen Skripten überschrieben werden. Daher verwenden Sie bitte lokale Variablen.
Lokale Variablen müssenlet,constundvarSchlüsselwörter der Deklaration, andernfalls werden sie globale Variablen.
Verwenden Sie bei der Deklaration von Variablen und Konstanten immerletundconstSchlüsselwörter, nichtvar.
// Empfohlen: let myAge = 22; const myName = "oldtoolbag.com" // Nicht empfohlen: var myAge = 22; var myName = "oldtoolbag.com"
Dafür gibt es viele überzeugende Gründe.-Zum Beispiel vermeidet es Probleme, die durch eine unerwartete Neuzuweisung verursacht werden, und vermeidet, dass die Lesbarkeit beeinträchtigt wird.
Es ist eine gute Programmierpraxis, alle Deklarationen am Anfang jedes Skripts oder jeder Funktion zu platzieren.
Unten finden Sie kürzeren Code und einen Ort am Anfang des Codes, um alle Variablen zu finden.
// Deklarationen am Anfang schreiben let Vorname, Nachname, Preis, Rabatt, Gesamtpreis; // Verwenden Sie Vorname = "oldtoolbag.com" Nachname = "Choudhary"; Preis = 26.90; Rabatt = 1.25; Gesamtpreis = Preis * 100 / Rabatt;
Um die Lesbarkeit so hoch wie möglich zu halten, verwenden wir die erweiterte Syntax, um jede Zeile von JavaScript zu zeilenweise umzuwandeln.
// Empfohlen: function myFunc() { console.log("Parrot Tutorial"); } // Nicht empfohlen: function myFunc() { console.log("Parrot Tutorial"); }
Verwenden Sie Leerzeichen zwischen Operatoren und Operanden, Parametern usw.:
// ist lesbarer if(dayOfWeek=== 7 && weather === "sunny") { /* Einige Code */ } // haben eine schlechtere Lesbarkeit if(dayOfWeek===7&& weather==="sunny"){ /* Einige Code */ }
Verwenden Sie immer Zahlen, Strings oder Boolean-Werte als Primitive, nicht als Objekte.
Diese Typen als Objekte zu deklarieren verringert die Ausführungszeit und führt zu unerwarteten Ergebnissen.
var str1 = "New Delhi"; var str2 = new String("New Delhi"); document.write(str1 === str2); // gibt false zurück, weil str1 und str2 haben unterschiedliche TypenTesten Sie es heraus‹/›
Kann Objekte nicht vergleichen:
var str1 = new String("New Delhi"); var str2 = new String("New Delhi"); document.write(str1 == str2); // gibt false zurück, weil str1und str2sind unterschiedliche Objekte document.write(str1 === str2); // gibt false zurück, weil str1und str2sind unterschiedliche ObjekteTesten Sie es heraus‹/›
Verwenden Sie {} anstelle von new Object()
Verwenden Sie "" anstelle von new String()
Verwenden Sie 0 anstelle von new Number()
Verwenden Sie false anstelle von new Boolean()
Verwenden Sie [] anstelle von new Array()
Verwenden Sie/()}}/Verwenden Sie
Verwenden Sie function (){} anstelle von new Function()
let x1 {}; let x2 ""; let x3 0; let x4 false; let x5 []; let x6 = /()}}/; let x7 = function(){};Testen Sie es heraus‹/›
JavaScript ist eine losen Typ oder dynamische Sprache. Variablen in JavaScript sind nicht direkt mit einem bestimmten Wertetyp verknüpft und können allen Variablen (und können neu zugewiesen werden) alle Arten von Werten zugewiesen werden.
var x = 20; // x ist jetzt ein Number x = "oldtoolbag.com" // x ist jetzt ein String x = true; // x ist jetzt ein BooleanTesten Sie es heraus‹/›
Beim Durchführen mathematischer Operationen kann JavaScript Zahlen in Zeichenketten umwandeln:
num = 50 + 10;// Rückgabe 60, typeof num ist ein Number num = 50 + "10"; // Rückgabe "5010", typeof num ist ein String num = "5"0" + 10; // Rückgabe "5010", typeof num ist ein String num = "5"0" - 10; // Rückgabe "4"0", typeof num ist ein NumberTesten Sie es heraus‹/›
Bitte beachten Sie, dass Zahlen möglicherweise inNaN(非数字):
num = 50 * "Parrot"; // Rückgabe "NaN", typeof num ist ein NumberTesten Sie es heraus‹/›
Der ==-Operator vergleicht immer nach vorheriger Konvertierung (um Typen zu passen).
Der ===-Operator für vollständige Gleichheit erzwingt die Vergleich der Werte und Typen.
1 == "1"; // true 1 == true; // true 1 === "1"; // false 1 === true; // false
Um Werte in eine Zeichenkette einzufügen, verwenden SieTemplate-Konstanten(` `)。
// Empfohlen: let myName = 'oldtoolbag.com'; console.log(`Hi! I'm ${myName}!`); // Nicht empfohlen: let myName = 'oldtoolbag.com'; console.log('Hi! I\'m' + myName + '!');
Wenn Siefor,for...inoderfor...ofSchleifen, stellen Sie sicher, dass die Initialisierung korrekt ist, indem SieletSchlüsselwort.
let fruits = ["Apple", "Mango", "Banana"]; // Empfohlen: for(let i of fruits) { console.log(i); } // Nicht empfohlen: for(i of fruits) { console.log(i); }
Bitte beachten Sie:
und der linken Klammer sollten keineLeerraum.
之间应有Ein Leerzeichen.
Für den Funktionsnamen verwenden Sie lowerCamelCasing und verwenden Sie an geeigneter Stelle prägnante und verständliche Namenskonventionen.
// Empfohlen: function sayHello() { alert('Hello!'); } // Nicht empfohlen: function sayhello() { alert('Hello!'); }
switchEnde immer mit default:.
var day; switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break; default: day = "Undefined Day"; }Testen Sie es heraus‹/›
Wenn bestimmte Zustände des Programms unberücksichtigte Fehler auswerfen, stoppen sie möglicherweise die Ausführung und können die Praktikabilität des Beispiels verringern.
Daher sollten Sietry...catchBlock, um Fehler zu fangen.
try { console.log(results); } catch(e) { console.error(e); }