Méthode de détection de colonnes
Aujourd'hui, nous étudions principalement les quatre méthodes de détection de type de js. Lorsqu'il s'agit de détection de type de js, nous devons y mentionner js. Il existe plusieurs types de données. Les types ne seront pas expliqués en détail. Après tout, les documents sont clairs, nous allons donc simplement les lister :
Adresse du document :
Type de données de base. : String , Boolean, undefined, null, Number, Symbol, BigInt
Types de données de référence : Object, Array, RegExp...
Les types de détection dont nous parlons aujourd'hui incluent les quatre suivants types et enfin, une méthode outil plus pratique écrite basée sur jquery :
typeof [Point clé]
instanceof
constructeur
Object.prototype.toString.call [Clé]
Définition
: opérateur capable de détecter les types de baseSyntaxe
: type de [valeur]Valeur de retour
: ["chaîne", "nombre", "booléen", "undéfini", "objet", "fonction", " symbole ", "bigint"]
Le résultat est tel qu'indiqué sur la figure :
Bien que typeof semble être très utile d'après ce qui précède, nous savons généralement que les choses utiles ont toujours certains défauts, tout comme les gens ne peuvent pas être très utiles. Parfait
les objets tableau, les objets normaux, les nouveaux objets numériques... ... . Tous les retours sont des Object
NaN / Infinity
sont tous deux des "nombres"typeof. null est "objet"
Le résultat est tel qu'indiqué dans la figure :
let x = {}; if(x != null && typeof x === "object"){ 判断是否是对象,由于typeof null也是返回object,因此要排除它 }复制代码
Le résultat est le suivant montré dans la figure Affichage : [Note] {} sera traité ici comme un bloc de code, donc la première ligne signale une erreur
- Définition
: utilisé pour détecter si l'attribut prototype du constructeur apparaît dans un objet instance On la chaîne prototype.
- Syntaxe
: instance d'objet du constructeur
- Valeur de retour
: valeur booléenne
结果如图所示 :
定义
: 通过构造器来判断类型。语法
: target.constructor == "类型名字"
结果如图所示 :
定义
: 返回一个表示该对象的字符串。语法
: Object.prototype.toString.call(params)返回值
: "[object 类型]"
结果如图所示 :
Object.prototype.toString.call()中“[object 类型]”返回的值是由
Symbol.toStringTag
决定
如图所示:
1.代码实现
var class2type = {}; ["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Symbol","BigInt","GeneratorFunction"].forEach(item=>{ class2type["[object "+item+"]"] = item.toLowerCase(); }) function toType(obj){ if(obj==null){ return obj+''; } return typeof obj === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj; }复制代码
最后,由于第一次写文章,有些紧张,如有写的不好之处请指出来,作者会继续努力写文章总结,一起加油!打工人!!!
相关免费学习推荐: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!