Typeof gibt das Objekt zurück
Alle Datentypen in JavaScript sind ausschließlich Objekte, aber in der tatsächlichen Verwendung haben wir immer noch unterschiedliche Typen. Wenn Sie feststellen möchten, ob eine Variable ein Array oder ein Objekt ist, kann sie nicht mit TypeOF behandelt werden, da alle ein Objekt zurückgegeben werden
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
document.write ('o typeof is' + typeof o);
document.write ('<br />');
document.write ('a typof is' + typeof a);
implementieren:
Die Codekopie lautet wie folgt:
o Typof ist Objekt
Ein Typ von Objekt ist Objekt
Daher können wir diese Methode nur aufgeben. Wir müssen beurteilen, dass es zwei Methoden für Array oder Objekt gibt.
Verwenden Sie zunächst Typeof, um das Längenattribut hinzuzufügen
Das Array verfügt
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
var getDatatype = Funktion (o) {
if (typeof o == 'Objekt') {
if (typeof o.length == 'number') {
zurück 'Array';
}anders{
'Objekt zurückgeben;
}
}anders{
return 'param ist kein Objekttyp';
}
};
alarm (getDatatype (o)); // Objekt
alarm (getDatatype (a)); // Array
alarm (getDatatype (1)); // Param ist kein Objekttyp
alert (getDatatype (true)); // Param ist kein Objekttyp
alarm (getDatatype ('a')); // Param ist kein Objekttyp
Zweitens verwenden Sie Instanz
Verwenden Sie Instanz, um festzustellen, ob eine Variable ein Array ist, z. B.:
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
Alarm (ein Instanz von Array); // WAHR
alarm (o Instanz von Array); // FALSCH
Sie können auch feststellen, ob es zu einem Objekt gehört
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
alarm (ein Instanz von Objekt); // WAHR
alarm (o Instanz des Objekts); // WAHR
Das Array gehört aber auch zum Objekt, daher sind beide oben genannte wahr. Wenn wir Instanz verwenden, um festzustellen, ob der Datentyp ein Objekt oder ein Array ist, sollten wir zuerst das Array beurteilen und schließlich das Objekt beurteilen
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
var getDatatype = Funktion (o) {
if (o Instanz von Array) {
Zurück "Array '
} else if (o Instanceof Objekt) {
'Objekt zurückgeben;
}anders{
return 'param ist kein Objekttyp';
}
};
alarm (getDatatype (o)); // Objekt
alarm (getDatatype (a)); // Array
alarm (getDatatype (1)); // Param ist kein Objekttyp
alert (getDatatype (true)); // Param ist kein Objekttyp
alarm (getDatatype ('a')); // Param ist kein Objekttyp
Wenn Sie das Array beispielsweise nicht priorisieren:
Die Codekopie lautet wie folgt:
var o = {'name': 'Lee'};
var a = ['reg', 'blau'];
var getDatatype = Funktion (o) {
if (o Instanzobjekt) {
'Objekt' zurückgeben '
} else if (o InstanceOf Array) {
zurück 'Array';
}anders{
return 'param ist kein Objekttyp';
}
};
alarm (getDatatype (o)); // Objekt
alarm (getDatatype (a)); // Objekt
alarm (getDatatype (1)); // Param ist kein Objekttyp
alert (getDatatype (true)); // Param ist kein Objekttyp
alarm (getDatatype ('a')); // Param ist kein Objekttyp
Dann wird das Array auch als Objekt beurteilt.