De telles choses de base ne doivent plus être enregistrées, mais en révisant le passé et en apprenant les nouvelles en premier. Commençons par le type de données.
JS six principaux types de données: numéro, chaîne, objet, booléen, nul, indéfini
String: expliqué par des citations simples ou doubles, telles que "String"
Numéro: quels entiers, les numéros de points flottants sont tous appelés nombres, vous savez ~
Booléen: c'est vrai et faux
Undefined: Undefined, c'est-à-dire que vous créez une variable mais ne lui attribuez pas de valeur ~
NULL: Par conséquent, il s'appelle Sijiu. null ne veut rien dire, rien ne veut dire
Objet: Je suis difficile à expliquer cela. C'est le type autre que les cinq ci-dessus
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Typeof Data Type Jugement
Le typeof peut résoudre la plupart des jugements de type de données. Il s'agit d'une opération unique. Avant une valeur de fonctionnement, sa valeur de retour est une chaîne. Cette chaîne indique le type de numéro d'opération. Par conséquent, if (typeof (votre valeur) == "String") {}
Voici les résultats renvoyés par divers types de données:
var a = "string"; console.log (a); // stringvar a = 1; console.log (a); // NumberVar a = false; console.log (a); // booleanvar a; console.log (typeof a); // UndFenedvar a = null; console.log (typeof a); // objectvar a = document; console.log (typeof a); // objectvar a = []; console.log (a); // objectVar a = function () {}; console.log (typeof a) // fonction En plus de juger les types de données, vous pouvez également juger des types de fonctionsC'est évident. À l'exception des quatre premiers types, Null, Object et Array Renvoient tous les types d'objets;
Pour les types de fonctions, la fonction est renvoyée, telle que typeof (date), typeof (ev), etc.
Ensuite, nous pouvons ici étendre un autre problème très populaire et la solution est déjà courante. Comment déterminer si les données sont un type de tableau?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Méthode JS pour déterminer le type de tableau
Méthode 1 instance de
Instance, par conséquent, le nom signifie, instance, exemple. Par conséquent, l'instance est utilisée pour déterminer si une variable est une instance d'un objet. Il s'agit d'une formule de fonctionnement tridimensionnelle - la différence la plus substantielle entre le type de
une instance de b? alert ("true"): alert ("false") // notez que la valeur b est le type de données que vous souhaitez juger, pas une chaîne, comme le tableau
Prenez un châtaignier:
var a = []; console.log (une instance de tableau) // renvoie true
Méthode 2 Constructeur
Définition dans W3C Définition: la propriété du constructeur renvoie une référence à la fonction du tableau qui a créé cet objet
Il renvoie le constructeur correspondant à l'objet. Dans la définition, il n'est pas très cohérent avec l'instance OFF, mais les effets sont les mêmes
Par exemple: (une instance de tableau) // a est-ce une instance de tableau? Vrai ou faux
(A.Constructor == Array) // Le constructeur correspond-il à l'instance A correspondant au tableau? Vrai ou faux
Prenez un châtaignier:
Employé de fonction (nom, travail, né) {this.name = name; this.job = job; this.born = né;} var bill = nouvel employé ("Bill Gates", "ingénieur", 1985); console.log (Bill.Constructor); // Fonction de sortie Employee (nom, jobTitle, né) {this.name = name; this.jobtitle = job; this.born = né;}Ensuite, la méthode pour juger divers types est:
Console.log ([]. Constructor == Array); console.log ({}. Constructor == Object); console.log ("String" .Constructor == String); console.log ((123) .Constructor == Number); console.log (true.constructor == booolean);-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Une méthode plus rigoureuse et générale:
fonction isArray (objet) {return objet && typeof objet === 'objet' && array == object.constructor;}! ! Avis:
En utilisant l'instance et le constructeur, le tableau jugé doit être déclaré sur la page actuelle! Par exemple, une page (page parent) a un framework, une page (sous-page) est référencée dans le cadre, un tableau est déclaré dans la page enfant et l'a attribué à une variable de la page parent. À l'heure actuelle, la variable est jugée, array == object.constructor; reviendra false;
raison:
1. Le tableau est une données de référence. Pendant le processus de transmission, ce n'est qu'un transfert de l'adresse de référence.
2. L'adresse référencée par l'objet natif du tableau de chaque page est différente. Le constructeur correspondant du tableau déclaré dans la page enfant est l'objet de tableau de la page enfant. Pour le jugement sur la page parent, le tableau utilisé n'est pas égal au tableau de la page enfant; N'oubliez pas, sinon il sera difficile de suivre le problème!
Méthode 3: Méthode de jugement des caractéristiques
Toutes les méthodes ci-dessus ont certains défauts, mais nous devons croire que la sagesse des masses est omnipotente. Nous pouvons juger de son type en fonction de certaines caractéristiques du tableau.
fonction isArray (objet) {return objet && typeof objet === 'objet' && type objet.length === 'nombre' && type objet.splice === 'fonction' && // déterminez simplement si la propriété de longueur est énumérable pour les tableaux, false sera obtenue! (Object.PropertySenumerable ('Longueur'));}Avoir la longueur et l'épissage n'est pas nécessairement un tableau, car le facteur de jugement le plus important est d'ajouter des attributs aux objets, mais pas d'énumération des attributs de longueur.
PS: Ici, nous popularisons la méthode de la propriété:
objet. PropertyIsEnumerable (pronom)
Déterminer si l'attribut spécifié peut être répertorié
Remarque: Si le pronom existe dans un objet et peut être énuméré de manière exhaustive à l'aide d'un pour… en boucle, la propriété PropertySenumable Renvoie vrai. Si l'objet n'a pas la propriété spécifiée ou si la propriété spécifiée n'est pas énumérable, la propriété PropertySenumable Renvoie False.
La propriété PropertySenumable ne prend pas en compte les objets dans la chaîne prototype.
Exemple:
var a = nouveau tableau ("pomme", "banane", "cactus"); Document.Write (A.PropertySenumerable (1));Méthode 4 La méthode la plus simple
fonction isArray (o) {return object.prototype.tostring.call (o) === '[Array d'objets]';}Ce qui précède est l'intégralité du contenu de cet article. Pour plus d'informations sur JavaScript, vous pouvez consulter: "JavaScript Reference Tutorial" et "JavaScript Code Style Guide". J'espère également que tout le monde soutiendra davantage Wulin.com.