Maison > interface Web > js tutoriel > Explication détaillée de l'implémentation JavaScript des types de données et des méthodes de jugement de tableau

Explication détaillée de l'implémentation JavaScript des types de données et des méthodes de jugement de tableau

韦小宝
Libérer: 2018-03-14 18:39:03
original
1296 Les gens l'ont consulté

Cet article explique comment JavaScript implémente le type de données et le jugement des tableaux, ou. vous ne connaissez pas l'implémentation des types de données et des tableaux par JavaScript. Si le jugement vous intéresse, jetons un coup d'œil à cet article. Bon, arrêtons de parler et allons droit au but.

Écrit au début :
Hier lors de l'entretien, j'ai constaté que je n'avais pas répondu à une question très, très simple. C'était peut-être parce que j'étais trop nerveux, et. J'avais l'impression de me faire pleurer. Plus tard, j'y ai réfléchi, je devrais l'enregistrer soigneusement pour pouvoir avoir une profonde impression. La révolution n’a pas encore réussi, et nous devons encore travailler dur pour devenir plus forts !

1. Les six principaux types de données de js

number:数字,整数、浮点数等等,
string:单引号或者双引号来说明,
Boolean:返回true和false,这两个值不一定对应1和0
object:对象,可以执行new操作符后跟要创建的对象类型的名称来创建。
null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象指针。
undefined:未定义,使用var声明变量但未对其初始化时,变量的值就是undefined。
Copier après la connexion

2. typeof peut résoudre le jugement de la plupart des types de données, et sa valeur de retour est une chaîne
, qui décrit le type de l'opérande.

Résultats renvoyés :
//判断变量num是不是一个数字类型
if(typeof num=='number') {
    return true;
}
Copier après la connexion

En plus des quatre types d'objets renvoyés chaîne, nombre, booléen et non défini, nul, objet et tableau ! ! !
var a="hling"; console.log(a); //string
var a=1; console.log(a); //number
var a=false; console.log(a); //boolean
var a; console.log(typeof a); //undfined

var a = null; console.log(typeof a); //object
var a = document; console.log(typeof a); //object
var a = []; console.log(a); //object

var a = function(){}; console.log(typeof a) 
//function除了可以判断数据类型还可以判断function类型
Copier après la connexion

Pour les types de fonctions, la fonction est renvoyée, telle que typeof(Date), typeof(eval), etc.


3. Comment déterminer le type de tableau en js

1) instanceof

Instanceof est utilisé pour déterminer si une variable est une instance d'un objet. C'est un opérateur ternaire. Cet opérateur est quelque peu lié à Orienté objet
en 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 .

a instanceof b?alert("true"):alert("false")  
//注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
Copier après la connexion
例子:var arr = [1,2,3,1]; 
alert(arr instanceof Array); // true
Copier après la connexion
2) constructeur

Définition dans la définition du W3C : L'attribut constructeur renvoie une référence à la fonction tableau qui a créé cet objet

La méthode de jugement des différents types est :
var arr = []; 
arr instanceof Array; // true 
arr.constructor == Array; //true
Copier après la connexion

Méthode générale :
console.log("string".constructor == String);
console.log((123).constructor == Number);
console.log(false.constructor == Boolean);
console.log([].constructor == Array);
console.log({}.constructor == Object);
Copier après la connexion

function isArray(object){
    return object && typeof object==='object' &&
            Array == object.constructor;
}
Copier après la connexion
3) Jugement caractéristique

object.isArray() À juge, le but est 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.

function isArray(object){
    return  object && typeof object==='object' &&    
            typeof object.length==='number' &&  
            typeof object.splice==='function' &&    
             //判断length属性是否是可枚举的 对于数组 将得到false  
            !(object.propertyIsEnumerable('length'));
}
Copier après la connexion
4) Object.prototype.toString.call

Ce qui précède est tout le contenu de cet article si vous ne savez pas grand-chose. À ce sujet, si vous pouvez mettre en œuvre les deux côtés par vous-même, ce sera facile à maîtriser !
Object.prototype.toString.call(value) == '[object Array]'
Copier après la connexion


Recommandations associées : js détermine s'il s'agit de
c.-à-d. un navigateur

JS Introduction détaillée au tableau de jugement

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:php.cn
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