Das Lesen dieses Artikels erfordert Programmiererfahrung in anderen Sprachen.
Vor dem Lernen beginnen
Die meisten Programmiersprachen haben gute und schlechte Teile. In diesem Artikel geht es nur um die guten Teile von JavaScript, weil:
1. Nur das Beste daran zu lernen, kann die Lernzeit verkürzen
2. Der geschriebene Code ist robuster
3. Der geschriebene Code ist einfacher zu lesen
4. Der geschriebene Code ist einfacher zu pflegen
Schwache und starke Typen
Je früher Sie den Fehler beheben, desto geringer ist der Preis, den Sie dafür zahlen. Compiler von stark typisierten Sprachen können zu bestimmten Fehlern zum Kompilierungszeit prüfen. JavaScript ist eine Sprache vom Typ schwach, und sein Dolmetscher kann nicht auf Typfehler prüfen, aber die Praxis zeigt, dass:
1. Die Fehler, die stark getippt werden können, sind nicht diese kritischen Fehler
2. Schwache Typen können Flexibilität bringen, ohne die Belastung starker Typen tragen zu müssen
JavaScript-bezogene Standards
Der ECMA-262-Standard definiert das Sprach-ECMascript. JavaScript und ActionScript, wie wir kennen, basieren alle auf ECMascript. Derzeit verwendet der Mainstream die ECMA-262 Version 5, und die V8-Engine von Google ist die Implementierung.
Hallo JavaScript
JavaScript ist eine Skriptsprache, für die ein Interpreter interpretiert und ausgeführt werden muss. Sie können JavaScript im Browser erläutern oder direkt node.js verwenden, das die V8 JavaScript -Engine von Google integriert. Da Node.js sehr bequem zu verwenden ist, verwende ich hier Node.js, um die Ausführung von JavaScript zu erklären. Schauen Sie sich nun das erste JavaScript -Programm an:
Die Codekopie lautet wie folgt:
// test.js
console.log ("Hallo JavaScript");
Führen Sie dieses Programm aus:
Die Codekopie lautet wie folgt:
Node test.js
Grammatik
Kommentare
JavaScript verwendet dieselbe Annotationsmethode wie C ++, // für eine Annotation mit einer Leitung, / * * / für Multi-Line-Annotation.
Zahlentyp
JavaScript hat nur eine Art numerischer Typ, eine 64-Bit-schwimmende Punktzahl. Der Zahlentyp hat zwei spezielle Werte, Nan und Unendlichkeit. Die Bedeutung von NAN ist keine Zahl (keine Zahl). Verwenden Sie die Funktion isnan, um zu prüfen, ob es sich um NAN handelt. Der Wert unendlich bedeutet Unendlichkeit. In einem Mathematikobjekt gibt es eine Reihe von Methoden zum Manipulieren von Zahlen, zum Beispiel: Die Mathematik -Floor -Methode wird zum Runden verwendet.
Saite
Das String -Literal kann in einzelnen oder doppelte Zitate eingewickelt werden und entkommene Zeichen werden verwendet (nicht anders als viele andere Sprachen). Jedes Zeichen in JavaScript besteht aus zwei Bytes, die den Unicode -Zeichensatz verwendet. Eine Zeichenfolge hat ein Längenattribut:
Die Codekopie lautet wie folgt:
"Hallo" .Length // Der Wert ist 5, beachten Sie, dass es nicht "Hallo" ist .Length ()
Saiten können nicht geändert werden (wie Lua). Zusätzlich zu dem hier erwähnten Längenattribut gibt es einige Methoden wie:
Die Codekopie lautet wie folgt:
'cat'.touppercase () ===' kat ''
Stellungnahme
Die VAR -Anweisung wird verwendet, um lokale Variablen zu deklarieren, ansonsten ist die Variable eine globale Variable, und der Wert der nicht initialisierten Variablen ist undefiniert:
Die Codekopie lautet wie folgt:
Funktion f () {
var localvar = 123;
globalVar = 456;
var i; // Der Wert von I ist undefiniert
};
F();
console.log (GlobalVar); // OK
console.log (localvar); // Fehler, LocalVar ist nicht definiert
Eine Reihe von Anweisungen von {} wird als Anweisungsblock bezeichnet. Im Gegensatz zu anderen Sprachen erstellen Funktionen in JavaScript keine neuen Bereiche, beispielsweise:
Die Codekopie lautet wie folgt:
{
var v = 123;
}
console.log (v); // OK
wenn Anweisung
Die Codekopie lautet wie folgt:
if (Ausdruck)
Stellungnahme
oder
Die Codekopie lautet wie folgt:
if (Ausdruck)
Erklärung1
anders
Erklärung2
oder
Die Codekopie lautet wie folgt:
if (Expression1)
Erklärung1
sonst wenn (Expression2)
Erklärung2
sonst wenn (Ausdruck3)
Erklärung3
anders
Erklärung4
Die IF -Anweisung beschließt, bestimmte Aussagen auszuführen oder zu überspringen, indem er uremiert, dass der Wert des Ausdrucks wahr oder falsch ist. In JavaScript sind die folgenden Werte falsch (andere Werte sind wahr):
1. FaLEN
2.NULL
3.undefiniert
4. Leere Zeichenfolge
5.0
6.Nan
Die Anweisung in If kann eine Anweisung oder ein Anweisungsblock sein.
Schaltanweisung
Die Codekopie lautet wie folgt:
Schalter (n) {
Fall 1: // Wenn n gleich 1 ist
// Codeblock ausführen
brechen;
Fall 2: // Wenn n gleich 2 ist
// Codeblock ausführen
brechen;
Standard: // Wenn n weder 1 noch 2 ist
// Codeblock ausführen
brechen;
}
Hier wird Break verwendet, um eine Schleifenanweisung oder eine Switch -Anweisung zu beenden. In JavaScript gibt es zwei Operatoren, die vergleichen, ob zwei Werte gleich sind:
1. == (entsprechend! = Operator), gleich und die beiden Operandentypen sind unterschiedlich. Dieser Operator versucht, den Operandentyp vor dem Vergleich zu konvertieren, z. B.:
Die Codekopie lautet wie folgt:
var x = 1;
x == 1; // WAHR
x == "1"; // WAHR
2. === (entsprechend!
Die Codekopie lautet wie folgt:
var x = 1;
x === 1; // WAHR
x === "1"; // FALSCH
Es ist zu beachten, dass NAN und ein Wert nicht gleich sind. Wenn x Nan ist, dann x! == x (gilt nur für Nan). Wir können die ISNAN -Funktion wie diese implementieren:
Die Codekopie lautet wie folgt:
Funktion isnan (n) {
return n! == n;
}
Die obige Switch -Anweisung wird in if Anweisung als:
Die Codekopie lautet wie folgt:
if (n === 1)
// ...
sonst wenn (n === 2)
// ...
anders
// ...
während und während der Aussagen
Die Codekopie lautet wie folgt:
Während (Ausdruck)
Stellungnahme
Wenn der Ausdruck wahr ist, wiederholen Sie die Anweisung, bis der Ausdruck falsch ist.
Die Codekopie lautet wie folgt:
Tun
Stellungnahme
während (Ausdruck);
Ähnlich wie bei einer Weile wird zuerst die Anweisung ausgeführt und dann den bedingten Ausdruck überprüft.
Für Erklärung
Die Codekopie lautet wie folgt:
für (initialisieren; testen; Inkrement)
Stellungnahme
Zuerst wird initialisieren einmal ausgeführt (normalerweise verwendet, um Schleifenvariablen zu initialisieren) und dann der Testzustandstest (normalerweise zum Testen von Schleifenvariablen). Wenn die Testbedingung falsch ist, wird die Schleife gestoppt. Andernfalls wird die Anweisung ausgeführt und dann wird inkrementiert (normalerweise zum Aktualisieren von Schleifenvariablen), und dann wird der Teststandstest ausgeführt, sodass der Loop weiterhin fortgesetzt wird. Beispiel der Nutzung:
Die Codekopie lautet wie folgt:
für (var i = 0; i <5; ++ i) {
console.log (i);
}
Eine andere Form von für wird verwendet, um alle Attributnamen eines Objekts aufzählen:
Die Codekopie lautet wie folgt:
für (Variable im Objekt)
Stellungnahme
Beispiel:
Die Codekopie lautet wie folgt:
var obj = {
A: 1,
B: 2,
C: 3
};
für (var name in obj)
console.log (name);
Es ist zu beachten, dass wir die HasownProperty -Methode verwenden, um zu überprüfen, ob der Eigenschaftsname des Objekts oder in der Prototypkette gefunden wird (Prototyp -Kette, Prototyp wird im nächsten Artikel eingeführt):
Die Codekopie lautet wie folgt:
für (var in obj) {
if (obj.hasownProperty (var)) {
// ...
}
}
Rückgabeerklärung
Die Rückgabeanweisung wird verwendet, um die Funktionsrückgabe zu einem Wert zu machen. Wenn die Funktion die Rückgabe nicht explizit verwendet, gibt sie undefined zurück:
Die Codekopie lautet wie folgt:
Funktion f () {}
var v = f (); // v === undefiniert
?: Bedingter Operator (der einzige ternäre Operator in JavaScript)
?: Bedingte Operatoren existieren in vielen Programmiersprachen. Wenn der erste Operand wahr ist, gibt der Betreiber den Wert des zweiten Operanden zurück, ansonsten wird der Wert des dritten Operanden zurückgegeben. Beispiel:
Die Codekopie lautet wie folgt:
Funktion abs () {
Rückgabe x> 0? x: -x;
}
Typof Operator
Der Typeof -Operator wird verwendet, um den Typ einer Variablen zu erhalten, und der Rückgabewert umfasst:
1.'Number '
2. 'STRING'
3.'Boolean ''
4.'undefiniert '
5.'Funktion '
6.'Object '
Das vom Spezialentyp von NULL zurückgegebene Ergebnis ist 'Objekt'. Beispiele zu Typeof:
Die Codekopie lautet wie folgt:
var a = typeof 'Hallo'; // a === 'String' '
var b = typeof null; // b === 'Objekt' '
+ Operator
Der + Bediener kann in JavaScript für Additionsvorgänge oder String -Verkettung verwendet werden:
Die Codekopie lautet wie folgt:
var message = 'Hallo' + 'Welt'; // message === 'helloWorld'
&& und || Betreiber
Der && Operator gibt den Wert des ersten Operanden zurück, wenn der erste Operand falsch ist, andernfalls gibt er den Wert des zweiten Operanden zurück.
|| Der Betreiber gibt den Wert des ersten Operanden zurück, wenn der erste Operand true, andernfalls gibt er den Wert des zweiten Operanden zurück.
Die Codekopie lautet wie folgt:
var a = 1 && true; // a === true
var b = 1 || FALSCH; // b === 1
|| Eine Idiom:
Die Codekopie lautet wie folgt:
Name = Name || 'unbekannt'; // Setzen Sie den Standardwert 'unbekannt' für den Namen