Das Wesen eines Computerprogramms kann größtenteils der Betrieb und das Lesen und Schreiben verschiedener Informationen (Werte) durch die Maschine sein. In JavaScript gibt es mehrere Arten von Werten, die in zwei Kategorien unterteilt sind: primitiver (primitiver Typ) und Objekt (Objekt).
Primitive
JavaScript gibt es 5 Arten von Primitiven:
1. Number. Alle Zahlen, ob Ganzzahlen oder Dezimalstellen, sind vom Typ Nummer.
2. STRING. String -Typ.
3.Boolean. Boolescher Typ, wahr oder falsch.
4. Null. Dieser Typ hat nur einen Wert von Null.
5.undefiniert. Dieser Typ hat nur einen Wert undefiniert.
Objekt
Außer primitiv ist jeder andere Wert in JavaScript ein Objekt (Objekt). Es gibt verschiedene Arten von Objekten:
1.JSON Schlüsselwertpaarobjekt. Wie {"Name": "Bob", "Alter": 42}.
2. Array. Wie [1,4,5,7,9].
3. Funktion. Wie function () {return true;}. In JavaScript gibt es zwei Funktionen von Funktionen: 1. Ausführbarer Code -Block; 2. Klassenkonstruktor. Egal in welcher Form sie existiert, eine Funktion ist immer ein Objekt.
JS kommt mit globalen Objekten
Um die Programmierung zu erleichtern, wird JavaScript mit einem globalen Objekt geliefert, das die folgenden 7 Mitgliedsvariablen enthält, die alle Objekte sind:
1.Math. Eine Reihe komplexer mathematischer Operationen kann durch Aufrufen der Methode des Mathematikobjekts ausgeführt werden.
2. Number. Einige spezielle Werte können durch Zugriff auf Mitgliedervariablen von Zahlenobjekten erhalten werden.
3.Array. Der Konstruktor eines Array -Objekts.
4. Funktion. Der Konstruktor des Funktionsobjekts.
5. Der Konstruktor des Datumsobjekts.
6.RegExp. Der Konstruktor des regulären Ausdrucksobjekts.
7.Error. Der Konstruktor des Fehlerobjekts.
Wenn Sie Programme schreiben, können Sie sie auch als globale Objekte verwenden, da Sie direkt auf 7 Variablen zugreifen können.
Unveränderlich gegen Mutable
Primitive und Objekt haben eine klare Unterscheidung: Alle Primitiven sind unveränderlich und alle Objekte veränderlich. Wenn JavaScript nach dem Aufrufen der String -Methode zum Bearbeiten des String -Typs als Beispiel das bearbeitete Ergebnis in einem neuen String -Objekt speichert, wird das ursprüngliche String -Objekt nichts geändert:
Die Codekopie lautet wie folgt:
var s = "test";
S.TouPPercase (); // Rückgabe eines neuen String -Objekts "Test"
console.log (s); // "test" - Die ursprüngliche Zeichenfolge ändert sich nicht
Experiment
In JavaScript können Sie den Typ eines bestimmten Wertes mithilfe des Schlüsselworts TypeOF abrufen.
Holen Sie sich die Art der Zahl:
Die Codekopie lautet wie folgt:
var n = 42;
console.log (typeof n);
Das Ausgabeergebnis des Programms ist die Zahl.
Holen Sie sich die Art der Zeichenfolge:
Die Codekopie lautet wie folgt:
var s = "test";
console.log (typeof s);
Das Ausgabeergebnis des Programms ist Zeichenfolge.
Holen Sie sich die Art des Booleschen Wertes:
Die Codekopie lautet wie folgt:
var b = true;
console.log (typeof b);
Das Ausgabeergebnis des Programms ist boolescher.
Holen Sie sich die Art von Null:
Die Codekopie lautet wie folgt:
var x = null;
console.log (typeof x);
Das Programm sollte null ausgeben, aber tatsächlich gibt es Objekt aus. Der Grund dafür ist, dass das Programm bei der Verwendung von TypeOF -Operationen auf Nullwerten das Objekt zurückgibt: Dies ist ein Fehler, der seit der ersten Version von JavaScript existiert. Während der Formulierung des ECMascript -Standards gab es einige interessante Debatten darüber, ob dieser Fehler behoben werden soll: http://wiki.ecmascript.org/doku.php?id=harmony:Typeof_null; Die endgültige Schlussfolgerung ist, dass die Behebung dieses Fehlers zu vielen Websites Probleme verursacht, sodass er vorerst nicht behoben wird.
Holen Sie sich den undefinierten Typ:
Die Codekopie lautet wie folgt:
var y = undefiniert;
console.log (typeof y);
Das Ausgabeergebnis des Programms ist undefiniert.
Holen Sie sich die Art von JSON -Objekt:
Die Codekopie lautet wie folgt:
var J = {"Name": "Bob", "Alter": 42};
console.log (typeof j);
Das Ausgabeergebnis des Programms ist Objekt.
Holen Sie sich die Art von Array -Objekt:
Die Codekopie lautet wie folgt:
var a = [2,3,5,7,11];
console.log (typeof a);
Das Ausgabeergebnis des Programms ist Objekt.
Holen Sie sich die Art des Funktionsobjekts:
Die Codekopie lautet wie folgt:
var f = function () {return true;};
console.log (typeof f);
Das Funktionsobjekt ist etwas Besonderes und der Typof -Operator gibt das Ergebnis als Funktion zurück.