Ich habe Instanz und Typen gelegentlich schon einmal verwendet, insbesondere Typen, und ich habe es mehr verwendet. Heute habe ich an vielen Orten Ext -Quellcode studiert und Instanz verwendet. Ich hatte plötzlich das Gefühl, dass sie etwas ähnlich waren, aber sie sollten anders sein. Ich habe einige Artikel online gelesen und habe ein gewisses Verständnis der Beziehung zwischen ihnen.
Instanz und Typen können verwendet werden, um festzustellen, ob eine Variable leer ist oder welche Art von Variable.
Typof wird verwendet, um den Typ einer Variablen zu erhalten. TypeOF kann im Allgemeinen nur die folgenden Ergebnisse zurückgeben: Anzahl, Boolesche, String, Funktion, Objekt, undefiniert. Wir können Typen verwenden, um zu erhalten, ob eine Variable existiert, wie z. Für spezielle Objekte wie Array, NULL usw. werden Sie das Objekt zurückgeben. Dies ist die Einschränkung des Typs von.
Wenn wir bekommen möchten, ob ein Objekt ein Array ist, oder feststellen, ob eine Variable eine Instanz eines Objekts ist, müssen wir uns für die Verwendung von Instanz verwenden. InstanceOF wird verwendet, um festzustellen, ob eine Variable eine Instanz eines Objekts ist. Zum Beispiel var a = new array (); alarm (ein Instanz von Array); Wird wahr zurückgegeben, und alarmiert (ein Instanzobjekt) wird ebenfalls true zurückgegeben. Dies liegt daran, dass Array eine Unterklasse des Objekts ist. Zum Beispiel: Funktion test () {}; var a = new test (); alert (ein Instanz -Test) wird true zurückgegeben.
Wenn es um Instanz geht, müssen wir ein weiteres Problem einfügen, dh Funktionargumente. Wir mögen alle denken, dass Argumente ein Array sind, aber wenn wir Instanzen zum Testen verwenden, werden wir feststellen, dass Argumente kein Array -Objekt sind, obwohl sie sehr ähnlich aussehen.