La copie de code est la suivante:
/ **
* Param: O représente la valeur détectée
* return: renvoie la chaîne "Undefined", "nombre", "booléen", "string", "fonction", "regexp", "array", "date", "error", "objet" ou "null"
* /
type de fonction (o) {
var _toString = object.prototype.tostring; // Obtenez la référence de la méthode ToString () de l'objet
// Énumérez les types de données de base et les types d'objets intégrés, et vous pouvez compléter davantage la plage de type de données de détection du tableau
var _type = {
"Undefined": "Undefined",
"numéro": "numéro",
"booléen": "booléen",
"String": "String",
"[Fonction objet]": "fonction",
"[objet regexp]": "regexp",
"[Array d'objets]": "Array",
"[Date d'objet]": "Date",
"[Erreur d'objet]": "erreur"
}
return _Type [typeof o] || _Type [_tostring.call (o)] || (o? "Object": "null"); // Détection en convertissant la valeur en une chaîne, puis en correspondant à la chaîne de retour contient un caractère spécifique
}
// Exemple d'application:
var a = math.abs;
alerte (typeof (a)); // renvoie la chaîne "fonction"
Le code est très simple et les instructions sont toutes dans les commentaires, donc je ne parlerai pas beaucoup de bêtises ici. Si vous avez les mêmes besoins, veuillez vous y référer vous-même.