Cette fois, je vais vous apporter une explication détaillée de l'utilisation du jugement de type js. Quelles sont les précautions lors de l'utilisation du jugement de type js. Ce qui suit est un cas pratique, jetons un coup d'œil. Dans la conversion de type
js , typeof reconnaîtra également null comme objet, et le type renvoyé est inférieur. Nous utilisons Object.prototype.toString pour implémenter
. La première version
function isArray(value){ return Object.prototype.toString.call(value) === "[object Array]"; } function isFunction(value){ return Object.prototype.toString.call(value) === "[object Function]"; }
Mais écrite comme ça, il est très gênant de juger les tableaux, les fonctions et les objets un par un. C'est plus procédural
La. deuxième version
Nous voulons utiliser type(obj) pour renvoyer le type chaîne correspondant. Parce que typeof est en minuscule, nous renvoyons également la norme minuscule
function type(obj){ // -1 代表截止到倒数一位 return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase() } type([]) // "array"
Troisième édition
//将types放外面 而不是放在type函数里面, 利用闭包,优化性能,不用每次判断都声明一次typess var types = { '[object Function]': 'function', '[object Number]': 'number', ... } function type(obj) { var str = Object.prototype.toString.call(obj) return types[str] }
// 参考自jquery源码 var types = {} 当然也可以直接用数组存储 "Boolean Number String Function Array Date RegExp Object Error".split(" ").forEach(function(e,i){ types [ "[object " + e + "]" ] = e.toLowerCase(); }) ;
function isWindow( obj ) { // obj !== undefined 是为了防止没传参数的时候后面报错 // Uncaught TypeError: Cannot read property 'window' of undefined的错误 return obj !== undefined && obj === obj.window; }
pour déterminer s'il s'agit d'un élément dom
isElement = function(obj) { return !!(obj && obj.nodeType === 1); }
Comment utiliser la directive v-model dans vue.js pour obtenir une liaison de données bidirectionnelle
Comment utiliser swiper dans vue
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!