Typeof return objet
Tous les types de données dans JavaScript sont des objets strictement, mais en usage réel, nous avons toujours différents types. Si vous souhaitez déterminer si une variable est un tableau ou un objet, il ne peut pas être géré avec le typeof, car tout renvoie l'objet
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
document.write ('o typeof est' + typeof o);
document.write ('<br />');
Document.Write ('Un typeof est' + type de a);
mettre en œuvre:
La copie de code est la suivante:
o typeof est objet
un type de l'objet
Par conséquent, nous ne pouvons abandonner cette méthode. Nous devons juger qu'il existe deux méthodes pour le tableau ou l'objet.
Tout d'abord, utilisez un type de type pour ajouter l'attribut
Le tableau a un attribut de longueur, l'objet ne le fait pas, et le type de tableau et l'objet à deux objet de retour, nous pouvons donc juger de cette façon
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
var getDatatype = fonction (o) {
if (typeof o == 'objet') {
if (typeof o.length == 'nombre') {
retourner 'Array';
}autre{
return 'objet';
}
}autre{
return 'param n'est pas un type d'objet';
}
};
alert (getDatatype (o)); // Objet
alert (getDatatype (a)); // Tableau
alerte (getDatatype (1)); // param n'est pas un type d'objet
alert (getDatatype (true)); // param n'est pas un type d'objet
alert (getDatatype ('a')); // param n'est pas un type d'objet
Deuxièmement, utilisez l'instance
Utilisez l'instance pour déterminer si une variable est un tableau, comme:
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
alerte (une instance de tableau); // vrai
alerte (o instance de tableau); // FAUX
Vous pouvez également déterminer s'il appartient à un objet
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
alert (un objet d'instance); // vrai
alert (o instanceOf objet); // vrai
Mais le tableau appartient également à l'objet, donc les deux ci-dessus sont vraies. Par conséquent, lorsque nous utilisons l'instance pour déterminer si le type de données est un objet ou un tableau, nous devons d'abord juger le tableau et finalement juger l'objet
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
var getDatatype = fonction (o) {
if (o instance de la table) {
retourner 'tableau'
} else if (o instanceOf object) {
return 'objet';
}autre{
return 'param n'est pas un type d'objet';
}
};
alert (getDatatype (o)); // Objet
alert (getDatatype (a)); // Tableau
alerte (getDatatype (1)); // param n'est pas un type d'objet
alert (getDatatype (true)); // param n'est pas un type d'objet
alert (getDatatype ('a')); // param n'est pas un type d'objet
Si vous ne hiérarchisez pas le tableau, par exemple:
La copie de code est la suivante:
var o = {'name': 'lee'};
var a = ['reg', 'bleu'];
var getDatatype = fonction (o) {
if (o instanceOf objet) {
return 'Object'
} else if (o instanceof array) {
retourner 'Array';
}autre{
return 'param n'est pas un type d'objet';
}
};
alert (getDatatype (o)); // Objet
alert (getDatatype (a)); // Objet
alerte (getDatatype (1)); // param n'est pas un type d'objet
alert (getDatatype (true)); // param n'est pas un type d'objet
alert (getDatatype ('a')); // param n'est pas un type d'objet
Ensuite, le tableau sera également jugé comme objet.