Maison  >  Article  >  interface Web  >  Type de jugement en JS

Type de jugement en JS

不言
不言original
2018-04-10 11:38:334068parcourir

Le contenu partagé avec vous dans cet article concerne le type de jugement en JS, qui a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

Il existe généralement quatre méthodes pour juger le type en JS<.>Un,
typeof : Comme tout le monde connaît cette méthode, il existe de nombreux types qui ne peuvent pas être déterminés, et ce n'est pas recommandé
Deux,
constructeur : Chaque fonction aura automatiquement un attribut de prototype. Cette propriété est un objet et cet objet contient le seul constructeur de propriété non énumérable. La valeur de l'attribut constructeur est un objet fonction, et cette fonction est le constructeur ;

function Aaa(){};

var a1 = new Aaa();

a1. constructor pointe vers It's Aaa(); ce constructeur

afin que nous puissions l'utiliser pour effectuer un jugement de type

var arr = []; jugez s'il s'agit de tableaux, il en va de même pour les autres types


Trois

instanceof : Déterminez si un objet et le constructeur sont sur la même chaîne de prototypes


fonction Aaa(){} ;

var o = new Aaa();


o instanceof Array : Vérifiez si o et Array sont sur la même chaîne de prototypes. Évidemment, o est une instance sous le constructeur Aaa, donc nous obtenons false; 🎜>

o instanceof obj.prototype devient true ; car tous les objets héritent de obj.prototype

4,

utilisez la méthode toString() : Object.prototype.toString.call(o); >o : est une instance d'objet. Ce qui précède renverra une chaîne de type '[Object Array]'. Vous pouvez juger du type de données en fonction de cette chaîne

En résumé, la quatrième méthode générale est la plus fiable. et sûr., Les méthodes deux et trois n'ont généralement aucun problème, mais elles fonctionneront mal lorsqu'il y a une iframe. L'une est la moins fiable

Il existe généralement quatre méthodes pour déterminer le type dans JS

Une. ,

typeof : Tout le monde connaît cette méthode. Il existe de nombreux types qui ne peuvent pas être déterminés et ne sont pas recommandés

Deuxièmement,

constructeur : Chaque fonction aura automatiquement un attribut prototype. Cette propriété est un objet et cet objet contient le seul constructeur de propriété non énumérable. La valeur de l'attribut constructeur est un objet fonction, et cette fonction est le constructeur ;

function Aaa(){};
var a1 = new Aaa();

a1. constructor pointe vers It's Aaa(); ce constructeur


afin que nous puissions l'utiliser pour effectuer un jugement de type

var arr = []; jugez s'il s'agit de tableaux, il en va de même pour les autres types

Trois

instanceof : Déterminez si un objet et le constructeur sont sur la même chaîne de prototypes


fonction Aaa(){} ;

var o = new Aaa();


o instanceof Array : Vérifiez si o et Array sont sur la même chaîne de prototypes. Évidemment, o est une instance sous le constructeur Aaa, donc nous obtenons false; 🎜>

o instanceof obj.prototype devient true ; car tous les objets héritent de obj.prototype


4,

utilisez la méthode toString() : Object.prototype.toString.call(o); >o : est une instance d'objet. Ce qui précède renverra une chaîne de type '[Object Array]'. Vous pouvez juger du type de données en fonction de cette chaîne

En résumé, la quatrième méthode générale est la plus fiable. et sûres. , les deuxième et troisième méthodes n'ont généralement aucun problème, mais elles fonctionneront mal lorsqu'il y aura une iframe. La première est la moins fiable

Recommandations associées



js. le jugement est du côté du PC ou du terminal mobile

js pour déterminer s'il s'agit d'un PC ou d'un terminal mobile

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Structure de données JSArticle suivant:Structure de données JS