English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Grundtutorials

JavaScript Objekt

JavaScript Funktion

JS HTML DOM

JS Browser BOM

AJAX Grundtutorials

JavaScript Referenzhandbuch

Praktische Erfahrungen in JavaScript

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 globale Variablen

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.

Deklarieren Sie始终 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;

Verwenden Sie die erweiterte Syntax

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 nicht Zahlen, Strings oder Boolean-Werte als Objekte zu deklarieren

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 Typen
Testen 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 Objekte
Testen Sie es heraus‹/›

Verwenden Sie nicht new Object()

  • 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‹/›

Seien Sie vorsichtig mit automatischer Typkonvertierung

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 Boolean
Testen 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 Number
Testen Sie es heraus‹/›

Bitte beachten Sie, dass Zahlen möglicherweise inNaN(非数字):

num = 50 * "Parrot";  // Rückgabe "NaN", typeof num ist ein Number
Testen Sie es heraus‹/›

Verwenden Sie strikte Vergleiche

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

Verwenden Sie Template-Konstanten

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 + '!');

Allgemeine Schleifen

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.

Funktionsnamen

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!');
  }

Verwenden Sie den Default-Wert, um den Switch abzuschließen

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‹/›

Fehlerbehandlung

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);
  }