Heim >Web-Frontend >js-Tutorial >Wie viele Datentypen gibt es in JavaScript? So bestimmen Sie den Datentyp in JavaScript
Wie viele Datentypen gibt es in JavaScript? Ich glaube, dass viele Freunde, die gerade mit JavaScript in Kontakt gekommen sind, solche Fragen haben werden. In diesem Kapitel erfahren Sie, wie viele Datentypen es in JavaScript gibt. So bestimmen Sie den Datentyp in JavaScript. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Wie bestimme ich den Datentyp in JavaScript? Wir können die folgenden Methoden verwenden: Typof, Instanzof, Konstruktor, Prototypmethode
Wie man den Typ in js beurteilt, geben wir ein paar Beispiele:
var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name="22";};
1 Die gebräuchlichste Beurteilungsmethode: typeof()-Methode
alert(typeof a) ------------> string alert(typeof b) ------------> number alert(typeof c) ------------> object alert(typeof d) ------------> object alert(typeof e) ------------> function alert(typeof f) ------------> function
Die von typeof zurückgegebenen Typen liegen beispielsweise alle in Form von Zeichenfolgen vor:
alert(typeof a == "string") -------------> true alert(typeof a == String) ---------------> false
Darüber hinaus kann typeof den Typ der Funktion bestimmen Zusätzlich zur Bestimmung des Objekttyps ist es bequemer, Objekte zu verwenden.
2. Methode zur Bestimmung bekannter Objekttypen: „instanceof“
alert(c instanceof Array) ---------------> true alert(d instanceof Date) alert(f instanceof Function) ------------> true alert(f instanceof function) ------------> false
Hinweis: „Instanceof“ muss vom Objekttyp gefolgt werden und die Groß-/Kleinschreibung darf nicht falsch sein. Diese Methode ist für einige bedingte Auswahlen geeignet oder Zweige.
3. Beurteilen Sie anhand des Konstruktors des Objekts: Konstruktor
alert(c.constructor == Array) ----------> true alert(d.constructor == Date) -----------> true alert(e.constructor == Function) -------> true
Hinweis: Der Konstruktor macht Fehler, wenn er Klassen erbt
Zum Beispiel:
function A(){}; function B(){}; A.prototype = new B(); //A继承自B var aObj = new A(); alert(aobj.constructor === B) -----------> true; alert(aobj.constructor === A) -----------> false;
Die Methode „instanceof“ tritt nicht auf. Sowohl die direkte als auch die indirekte Vererbung von Objekten wird „true“ melden:
alert(aobj instanceof B) ----------------> true; alert(aobj instanceof B) ----------------> true;
Um das Problem des Konstruktors zu lösen, lassen Sie normalerweise den Konstruktor des Objekts verweisen selbst manuell:
aobj.constructor = A; //将自己的类赋值给对象的constructor属性 alert(aobj.constructor === A) -----------> true; alert(aobj.constructor === B) -----------> false; //基类不会报true了;
4. Universelle, aber sehr umständliche Methode: Prototyp
alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true; alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true; alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true; alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true; alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true; alert(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;
kann nicht im falschen Fall geschrieben werden, was zwar problematischer, aber vielseitiger ist.
Normalerweise können Sie typeof zur Beurteilung verwenden. Wenn Sie auf eine Situation stoßen, in der der Objekttyp bekannt ist, können Sie die Instanz- oder Konstruktormethode verwenden.
Oben geht es darum, wie viele Datentypen es in JavaScript gibt? Eine vollständige Einführung zur Bestimmung des Datentyps in JavaScript. Wenn Sie mehr über das JavaScript-Video-Tutorial erfahren möchten, schauen Sie sich bitte die chinesische PHP-Website an.
Das obige ist der detaillierte Inhalt vonWie viele Datentypen gibt es in JavaScript? So bestimmen Sie den Datentyp in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!