Maison >interface Web >js tutoriel >jQuery obtient un type variable
JQuery's .type()
Méthode: une plongée profonde dans la détection de type variable
jQuery offre une fonction puissante, .type()
, pour déterminer le type de variable JavaScript. Contrairement à l'opérateur typeof
de JavaScript, .type()
fournit des résultats plus précis, identifiant correctement les tableaux et les valeurs nuls. Son implémentation exploite toString()
et un objet class2type
pour la vérification complète des types.
Examinons le cœur de la fonction .type()
:
<code class="language-javascript">type: function( obj ) { return obj == null ? String( obj ) : class2type[ toString.call(obj) ] || "object"; },</code>
La fonction utilise intelligemment un opérateur ternaire. Si l'entrée obj
est null
, il renvoie la représentation de la chaîne de obj
("null"). Sinon, il consulte l'objet class2type
, une table de recherche mappant la représentation de chaîne de la classe d'un objet à son type. Si aucune correspondance n'est trouvée dans class2type
, elle est par défaut "Object".
L'objet class2type
est défini comme suit:
<code class="language-javascript">var class2type = { "[object Array]": "array", "[object Boolean]": "boolean", "[object Date]": "date", "[object Function]": "function", "[object Number]": "number", "[object Object]": "object", "[object RegExp]": "regexp", "[object String]": "string" };</code>
Cet objet est la clé de la précision de .type()
. toString.call(obj)
génère une chaîne représentant la classe interne de l'objet, qui est ensuite utilisée comme clé pour récupérer le type correspondant de class2type
.
Voici un exemple pratique:
<code class="language-javascript">var $forms = Array($('#register-form1'), $('#register-form2'), $('#register-form3')); console.log($.type($forms)); // Output: array</code>
Cela montre comment .type()
identifie correctement un tableau JavaScript.
Questions fréquemment posées (FAQ)
Les FAQ suivantes abordent les requêtes communes concernant la méthode .type()
de jQuery et ses différences par rapport à l'opérateur de JavaScript typeof
.
jQuery.Type () vs JavaScript Typeof: Alors que les deux déterminent les types de variables, typeof
a des limitations, renvoyant "objet" pour les tableaux nuls, les tableaux et les objets. JQuery's .type()
offre une détection de type plus nuancée, classer avec précision les tableaux, null et divers types d'objets.
Vérification des types de données spécifiques: Utilisez une comparaison simple: if ($.type(variable) === "array") { ... }
Types d'objets personnalisés: .type()
Renverra le nom de la fonction constructeur utilisé pour créer l'objet personnalisé.
null et non défini: .type()
Renvoie "null" pour null
et "Undefined" pour undefined
.
Objets jQuery: .type()
Renvoie "Object" pour les objets jQuery. Utilisez des méthodes de jQuery comme .is()
et .has()
pour des informations plus détaillées.
Sensibilité à la caisse: .type()
est sensible à la casse; Les types sont retournés en minuscules.
Manipulation NAN: .type()
traite NaN
comme un "numéro".
Le tableau par rapport à la différenciation des objets: Contrairement à typeof
, .type()
distingue les tableaux ("array") et les objets ("objet").
Compatibilité de la version jQuery: .type()
est disponible à partir de jQuery 1.4.3.
Détection du type de fonction: .type()
Identifie correctement les fonctions, renvoyant "fonction".
Cette explication complète clarifie les fonctionnalités et les avantages de la méthode .type()
de JQuery pour la vérification robuste des types de variables en javascript.
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!