js enthält fünf Datentypen, Zahlen, String, Boolean, undefiniert, Objekt und Funktionstyp Funktion.
Wenn Sie das sehen, werden Sie sich bestimmt fragen: Wie unterscheide ich zwischen Objekten, Arrays und Null? ?
Als nächstes verwenden wir ein scharfes Werkzeug: Object.prototype.toString.call
Dies ist eine native Prototyp-Erweiterungsfunktion des Objekts, die zur genaueren Unterscheidung des Datentyps verwendet wird.
Lass uns dieses Ding ausprobieren:
var gettype=Object.prototype.toString
gettype.call(' aaaa') Ausgabe [ Objektzeichenfolge]
gettype.call(2222) Ausgabe [Objektnummer]
gettype.call(true) Ausgabe [Objekt Boolean]
gettype call(undefiniert) Ausgabe [Objekt undefiniert]
gettype.call(null) Ausgabe [Objekt Null]
gettype.call({}) Ausgabe [Objekt Objekt]
gettype.call([ ]) Ausgabe [Objekt-Array]
gettype.call(function(){}) Ausgabe [Objekt-Funktion]
Als wir das sahen, haben wir das Problem gerade gelöst.
Tatsächlich gibt es in js viele Typurteile
[object HTMLpElement] p object,
[object HTMLBodyElement] body object,
[object Document] (IE) oder
[object HTMLDocument] (Firefox, Google)...
Beurteilung verschiedener DOM-Knoten, diese Dinge werden verwendet, wenn wir Plug-Ins schreiben.
Die Methoden, die gekapselt werden können, sind wie folgt:
var gettype=Object.prototype.toString var utility={ isObj:function(o){ return gettype.call(o)=="[object Object]"; }, isArray:function(o){ return gettype.call(o)=="[object Array]"; }, isNULL:function(o){ return gettype.call(o)=="[object Null]"; }, isDocument:function(){ return gettype.call(o)=="[object Document]"|| [object HTMLDocument]; } ........ }
1 Bestimmen Sie, ob es sich um einen Array-Typ handelt
<script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='object')&&obj.constructor==Array; } //]]> </script>
2 Bestimmen Sie, ob es sich um einen Zeichenfolgentyp handelt
<script type="text/javascript"> //<![CDATA[ document.write(isString('test'),'<br/>'); document.write(isString(10),'<br/>'); function isString(str){ return (typeof str=='string')&&str.constructor==String; } //]]> </script>
3 Bestimmen Sie, ob es sich um einen numerischen Typ handelt
<script type="text/javascript"> //<![CDATA[ document.write(isNumber('test'),'<br/>'); document.write(isNumber(10),'<br/>'); function isNumber(obj){ return (typeof obj=='number')&&obj.constructor==Number; } //]]> </script>
Das obige ist der detaillierte Inhalt vonZusammenfassung von Beispielen für Methoden zur Bestimmung von Datentypen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!