Typof
Wenn typeof häufiger verwendet wird, soll feststellen, ob eine globale Variable vorhanden ist, wenn eine Seite eine globale Variable definiert. Wenn Sie das folgende Urteil fällen:
// Harooms ist eine globale Variable if (Harooms! = undefined) {} // JS wird einen Fehler mit der Aufschrift "Uncortht ReferenceError: Harooms ist nicht definiert" meldet.Die Lösung besteht darin, wie folgt zu schreiben:
if (typeof haorooms! = undefiniert) {}Nach der Verwendung von TypeOF gibt es keinen Fehler! Dies ist eine der Typen von Anwendungen!
Darüber hinaus kann TypeOF auch Urteile über Datentypen fällen! wie folgt:
var harooms = "String"; console.log (harooms); // Stringvar Harooms = 1; console.log (harooms); // numbervar harooms = false; console.log (harooms); // booleanvar harooms; console.log (typeof harooms); // ungekündigtvar harooms = null; console.log (typeof harooms); // ObjectVar Harooms = Dokument; console.log (typeof harooms); // ObjectVar Harooms = []; console.log (harooms); // ObjectVar harooms = function () {}; console.log (typeof harooms) // Funktion Zusätzlich zum Beurang von Datentypen können Sie auch Funktionstypen beurteilenOffensichtlich gibt es für Typof mit Ausnahme der ersten vier Typen, Null-, Objekt- und Array -Array alle Objekttypen zurück;
Instanz
Es kann verwendet werden, um festzustellen, ob es sich um ein Array handelt.
var harooms = []; console.log (harooms Instanz von Array) // Return true
Konstruktor
Der Konstruktor ist der Konstruktor, der den entsprechenden Konstruktor des Objekts zurückgibt.
So beurteilen Sie verschiedene Datentypen:
console.log ([]. constructor == array); console.log ({}. constructor == Objekt); Konsole.log ("String" .Constructor == string. console.log ((123) .Constructor == Nummer); console.log (true. this.job = Job; this.born = geboren; } var haorooms = neuer Mitarbeiter ("Bill Gates", "Ingenieur", 1985); console.log (harooms.constructor); // Ausgabefunktion Mitarbeiter (Name, JobTitle, geboren) {this.name = name; this.joBtitle = Job; this.born = geboren;}Durch Ausgabe von Haorooms.constructor ist ersichtlich, dass der Konstruktor den dem Objekt entsprechenden Konstruktor zurückgibt.
Object.Prototype.ToString
Wir haben früher erwähnt, dass wir das Konstruktorattribut verwenden können, um den Objekttyp zu bestimmen. Lassen Sie uns über die Methode von Object.Protype.ToString sprechen.
Object.Prototype.toString.Apply ({}) // "[Objekt]" Object.Prototype.toString.Apply ([]) // "[Objektarray]" Object.Prototype.toString.Apply (nan) // "[Objektnummer]" Object.Prototype.ToString.Apply (Funktion) (Funktion) ")/" [Objekte ".Mit dieser Methode können wir das Grundmuster einer Variablen korrekt beurteilen. Wenn es sich jedoch um einen benutzerdefinierten Typ handelt, können wir den realen Typ nicht kennen, da das Ergebnis immer noch [Objektobjekt] sein wird.
andere
JQuery hat auch eine Typ -Beurteilungsmethode. Folgendes ist ein Beispiel
$ .iswindow (Fenster) // true
Wie es geht
core.js#479iswindow: function (obj) {return obj! = null && obj == obj.window;}Öffnen Sie also ein solches Objekt:
var fakeWindow; fakeWindow = {}; fakeWindow.window = fakeWindow; $. IsWindow (FakeWindow) // TrueDu hast ihn angelogen.
Zusammenfassung
In JavaScript müssen Sie die Typen korrekt beurteilen. Wenn Sie sie sorgfältig studieren, ist es wirklich ein problematisches. Es ist sehr wichtig, Ihr Urteilsvermögen gemäß verschiedenen Situationen zu gestalten. Wir müssen auch darüber nachdenken, wie wir den richtigen Typ auf einfachste Weise beurteilen können. Natürlich gibt es immer noch viele Dinge, die in diesem Artikel nicht vorgestellt wurden. Zum Beispiel IsPrototypeof -Methode. JavaScript ist eine Sprache mit vielen historischen Belastungen, verbessert sich aber auch ständig. Wenn Sie es verwenden, sollten Sie auf zu viele Möglichkeiten doppelseitiger Klingen achten. Denken Sie daran, sie sorgfältig zu verwenden.