Heim >Web-Frontend >js-Tutorial >Wie ermittelt man den Datentyp eines Objekts in Javascript?
Der Inhalt dieses Artikels befasst sich mit der Frage, wie man den Datentyp eines Objekts in JavaScript bestimmt. , hat einen bestimmten Referenzwert, Freunde in Not können sich darauf beziehen, ich hoffe, es wird Ihnen hilfreich sein.
Zusammenfassung der booleschen Werttypen verschiedener Daten in js: false: empty string; wahr: Bis auf den obigen falschen Fall ist alles andere wahr;
Es gibt sechs Datentypen in JavaScript : string; Array;Objekt;null;undefiniert. Wie erkennt man diese Datentypen? Die Zusammenfassungsmethode lautet wie folgt:
Die erste Methode: typeofvar obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
console.log(n)
}
console.log(typeof obj) // object
console.log(typeof arr) // object
console.log(typeof str) // string
console.log(typeof bool) // boolean
console.log(typeof num) // number
console.log(typeof n) // object
console.log(typeof fn) // function
Durch den obigen Test wird festgestellt, dass typeof beides zurückgibt Typen beim Erkennen von Arrays und Wörterbüchern Es handelt sich um ein Objekt, und es ist unmöglich zu sagen, ob es sich um ein Array oder ein Objekt handelt. Wenn Sie überprüfen möchten, ob es sich um ein Array oder ein Objekt handelt, verwenden Sie die Methode „instanceof“ und die Konstruktormethode
var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
console.log(n)
}
console.log(obj instanceof Object) // true
console.log(arr instanceof Array) // true
console.log(str instanceof String) // false
console.log(bool instanceof Boolean) // false
console.log(num instanceof Number) // false
console.log(n instanceof Object) // false
console.log(fn instanceof Function) // true
Hinweis: „instanceof“ kann nur sein Wird zur Bestimmung von Arrays und Objekten verwendet. Die Funktion kann keine Zeichenfolgen-, Zahlen- und Booleschen Typen beurteilen. Wenn Sie Zeichenfolgen und Boolesche Werte beurteilen müssen, können Sie die Methode tostring() verwenden.
Wenn die Methode „instanceof“ prüft, ob das Array ein Objekt ist, ist das Rückgabeergebnis „True“
var arr = ['a','b','c'] console.log(arr instanceof Object) // true
Wenn Sie „instanceof“ verwenden, Sie müssen streng beurteilen, ob es sich um ein Array handelt. Der verbesserte Code lautet wie folgt:
var obj = {'name':'Tom'} var arr = ['a','b','c'] var str = 'chenxinming' var getDataType = function(data){ if(data instanceof Array){ return 'Array' } else if (data instanceof Object){ return 'Object' } else{ return 'data is not obejct type' } } getDataType(obj) // Object getDataType(obj) // Array getDataType(obj) // data is not obejct type
Die dritte Methode: Konstruktor
var obj = {'name':'Tom'} var arr = ['a','b','c'] var str = 'chenxinming' var bool = true var num = 1 var n = null var fn = function(n){ console.log(n) } console.log(obj.constructor == Object) // true console.log(arr.constructor == Array) // true console.log(str.constructor == String) // true console.log(bool.constructor == Boolean) // true console.log(num.constructor == Number) // true console.log(fn.constructor == Function) // true
Der Test ergab, dass der Konstruktor unterstützt die Überprüfung von Objekt, Array, String, Boolean, Zahl, Funktion
Die vierte Methode: toString (empfohlen)var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
console.log(n)
}
console.log(Object.prototype.toString.call(obj)) // [object Object]
console.log(Object.prototype.toString.call(arr)) // [object Array]
console.log(Object.prototype.toString.call(str)) // [object String]
console.log(Object.prototype.toString.call(bool)) // [object Boolean]
console.log(Object.prototype.toString.call(num)) // [object Number]
console.log(Object.prototype.toString.call(n)) // [object Null]
console.log(Object.prototype.toString.call(fn)) // [object Function]
Aus dem Test ist es am besten, toString zu verwenden , diese Methode verfügt über umfassendere Funktionen.
Das obige ist der detaillierte Inhalt vonWie ermittelt man den Datentyp eines Objekts in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!