Maison > interface Web > js tutoriel > Comment js détermine-t-il si un objet est un tableau (fonction)

Comment js détermine-t-il si un objet est un tableau (fonction)

王林
Libérer: 2020-03-13 10:25:23
avant
5869 Les gens l'ont consulté

Comment js détermine-t-il si un objet est un tableau (fonction)

1. Opérateur Typeof

Exemple :

// 数值
typeof 37 === 'number';
  
// 字符串
typeof '' === 'string';
  
// 布尔值
typeof true === 'boolean';
  
// Symbols
typeof Symbol() === 'symbol';
  
// Undefined
typeof undefined === 'undefined';
  
// 对象
typeof {a: 1} === 'object';
typeof [1, 2, 4] === 'object';
  
// 下面的例子令人迷惑,非常危险,没有用处。避免使用它们。
typeof new Boolean(true) === 'object';
typeof new Number(1) === 'object';
typeof new String('abc') === 'object';
  
// 函数
typeof function() {} === 'function';
Copier après la connexion

À partir de l'exemple ci-dessus, nous pouvons voir que l'utilisation de typeof except array et null est jugée comme un objet Except pour cela, tout le reste peut être jugé normalement.

(Tutoriel recommandé : tutoriel javascript)

2. Opérateur instanceof et attribut constructeur de l'objet

Cet opérateur est quelque peu similaire à l'opérateur orienté objet dans Relation JavaScript, pour comprendre cela, vous devez d'abord comprendre l'orientation objet en JavaScript. Car cet opérateur détecte si la chaîne prototype de l'objet pointe vers l'objet prototype du constructeur.

Exemple :

Comment js détermine-t-il si un objet est un tableau (fonction)

3. Utilisez Object.prototype.toString pour déterminer s'il s'agit d'un numéro

Object.prototype.toString.call( [] ) === '[object Array]' // true
  
Object.prototype.toString.call( function(){} ) === '[object Function]' // true
Copier après la connexion

Utiliser l'appel. ici, faites en sorte que toString pointe vers obj. Complétez ensuite le jugement

4. Utilisez la chaîne de prototypes pour compléter le jugement

[].__proto__ === Array.prototype // true
  
var fun = function(){}
fun.__proto__ === Function.prototype // true
Copier après la connexion

5 Array.isArray()

Array.isArray([])  // true
Copier après la connexion

ECMAScript5 introduit officiellement Array.isArray() dans. JavaScript dans le but de détecter avec précision si une valeur est un tableau. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ et Chrome implémentent tous cette méthode. Cependant, les versions antérieures à IE8 ne sont pas prises en charge.

Tutoriels vidéo associés recommandés : Tutoriel vidéo 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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal