Heim > Web-Frontend > js-Tutorial > Hauptteil

Was sind „typeof' und „instanceof' in js? Was ist der Unterschied?

藏色散人
Freigeben: 2018-10-13 16:35:06
Original
6717 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich den Unterschied zwischen Typeof und Instanceof in js vor.

Zunächst einmal sollte jeder kurz verstehen Was ist typeof?

typeof ist eine unäre Operation, die vor einem Operanden platziert wird, und der Operand kann von jedem beliebigen Typ sein. Sein Rückgabewert ist eine Zeichenfolge, die den Typ des Operanden beschreibt. typeof kann verwendet werden, um den Datentyp einer bestimmten Variablen zu erkennen.

Was ist eine Instanz von?

Der Instanzoperator wird verwendet, um zu bestimmen, ob das Objekt, auf das das Prototypattribut eines Konstruktors zeigt, in der Prototypenkette eines anderen zu erkennenden Objekts vorhanden ist. Im Allgemeinen dient die Verwendung von „instanceof“ dazu, festzustellen, ob eine Instanz zu einem bestimmten Typ gehört.

Die Ähnlichkeiten zwischen „typeof“ und „instanceof“ in js:

Typeof und „instanceof“ in JavaScript werden häufig verwendet, um zu bestimmen, ob eine Variable leer ist oder welchen Typ sie hat.

Unterschiede:

1. Die Definition und Verwendung von typeof:

Der Rückgabewert ist eine Zeichenfolge , wird verwendet, um den Datentyp der Variablen zu beschreiben.

Spezifische Nutzungsdetails:

1. typeof kann im Allgemeinen nur die folgenden Ergebnisse zurückgeben:

'undefiniert': Dieser Wert ist undefiniert.

'boolean': Dieser Wert ist ein boolescher Wert.

'string': Dieser Wert ist ein String.

'number': Dieser Wert ist ein numerischer Wert.

'object': Dieser Wert ist ein Objekt oder null.

'function': Dieser Wert ist eine Funktion.
2. Verwenden Sie typeof, um zu ermitteln, ob eine Variable vorhanden ist, z. B.

if(typeof a!="undefined"){alert("ok")}
Nach dem Login kopieren

, anstatt if(a) zu verwenden, denn wenn a nicht existiert (nicht deklariert), tritt ein Fehler auf.

3. Für spezielle Objekte wie Array und Null gibt typeof immer ein Objekt zurück. Dies ist die Einschränkung von typeof.
2. Instanz der Definition und Verwendung:

Instanz der Definition und Verwendung: Instanz von wird verwendet, um zu bestimmen, ob eine Variable zu einer Instanz eines Objekts gehört. Es kann auch verwendet werden, um zu bestimmen, ob das Prototypattribut eines bestimmten Konstruktors in der Prototypenkette eines anderen zu erkennenden Objekts vorhanden ist.

Beispiel:

a instanceof b?alert("true"):alert("false"); //a是b的实例?真:假
Nach dem Login kopieren
rrree

wird zurückgegeben true, und

 var a=new Array();alert(a instanceof Array);
Nach dem Login kopieren

gibt auch true zurück;

Das liegt daran, dass Array ein Objekt ist Unterkategorie.

Ein weiteres Beispiel:

alert(a instanceof Object)
Nach dem Login kopieren

gibt ein Objekt zurück.

Test:

function test(){};var a=new test();alert(a instanceof test)
Nach dem Login kopieren

erhält „Y“ und

var a=new Array();if (a instanceof Object) alert('Y');else alert('N');
Nach dem Login kopieren

erhält „N“.

Das hier von „instanceof“ getestete Objekt bezieht sich also auf das Objekt in der JS-Syntax, nicht auf das Dom-Modellobjekt.

Bei der Verwendung von typeof gibt es einige Unterschiede:

if (window instanceof Object) alert('Y');else alert('N');
Nach dem Login kopieren

erhält ein Objekt.

In diesem Artikel geht es um den Unterschied zwischen „typeof“ und „instanceof“ in js. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Wenn Sie mehr über Front-End-Wissenspunkte erfahren möchten, können Sie der chinesischen PHP-Website JavaScript-Video-Tutorial, Bootstrap-Video-Tutorial und anderen verwandten Tutorials folgen. Begrüßen Sie alle zum Nachschlagen und Lernen!

Das obige ist der detaillierte Inhalt vonWas sind „typeof' und „instanceof' in js? Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!