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")}
, 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的实例?真:假
wird zurückgegeben
true, und
var a=new Array();alert(a instanceof Array);
gibt auch true zurück;
Das liegt daran, dass Array ein Objekt ist Unterkategorie.
Ein weiteres Beispiel:
alert(a instanceof Object)
gibt ein Objekt zurück.
Test:
function test(){};var a=new test();alert(a instanceof test)
erhält „Y“ und
var a=new Array();if (a instanceof Object) alert('Y');else alert('N');
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');
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!