Maison  >  Article  >  interface Web  >  Introduction aux types de référence dans la programmation js

Introduction aux types de référence dans la programmation js

零下一度
零下一度original
2017-07-17 16:18:071397parcourir

Type de référence

Il existe deux valeurs de type de données pour variables en JS, valeurs des types de base et valeurs des types de référence. Les types de base sont null, non défini, booléen, chaîne et nombre. Les valeurs des types référence sont des références à des objets, c'est-à-dire un pointeur vers un objet.

Le type référence est une structure de données (appelée classe dans d'autres langages. Il n'y avait pas de concept de classe auparavant en js, mais elle l'est en es6 (un sucre de syntaxe)). Objet, donc l'objet est appelé une instance ou une valeur d'un type référence. (Un objet est une combinaison de paires clé-valeur.)

Dans le répertoire, vous pouvez voir que les types de référence en JavaScript sont : Type d'objet, Type de tableau, Type de données, Type RegExp, Type de fonction, de base type intégré, type intégré unique. Ci-dessous, je vais trier les points de connaissance ici.

①Le type de référence est une structure de données utilisée pour organiser les données et les fonctions ensemble. Cependant, JavaScript ne prend pas en charge la structure de base des classes et des interfaces, on l'appelle donc une définition d'objet.

②Object est le type le plus utilisé. Il existe deux manières de créer un objet.

Le premier utilise l'opérateur new :

1 var person = new Object();2 person.name = "xuchaoi";3 person.age = 24;

Le second utilise la notation littérale d'objet :

1 var person = {2     name: "xuchaoi",3     age: "24"4 }  // 访问对象的值:person.name

③La création d'un tableau est similaire à la création d'un objet.

peut être créé via le nouvel opérateur ou la représentation littérale du tableau ④ Les tableaux peuvent être détectés via la méthode Array.isArray(). Parce que typeof() détecte les tableaux, les objets ou les types Null et renvoie "object"

⑤Méthode Diviser le tableau en chaîne : join()

1 var name = ["小明", "小红", "小青"];2 consol.log(name.join("&"));  // 小明&小红&小青

⑥Array simule la structure des données empiler. push() ajoute une valeur à la fin du tableau et pop() supprime l'élément de la fin du tableau. Ainsi, la structure de pile dernier entré, premier sorti

⑦ paire de structures de données de simulation de tableau est réalisée. push() ajoute une valeur à la fin du tableau et shift() supprime le premier élément du tableau. Ainsi, réaliser la structure de paire premier entré, premier sorti

⑧unshift() est l'opposé de shift(). Elle ajoute une valeur au premier élément du tableau

⑨Méthode d'ordre inverse du tableau. : inverse(). Cette méthode inverse l'ordre des éléments du tableau.

⑩Méthode de tri des tableaux : sort(). Par défaut, il effectuera d'abord la transformation toString() pour chaque élément du tableau, puis organisera les éléments du tableau par ordre croissant

1 var values = [0, 1, 5, 10, 15];2 console.log(value.sort());    //0,1,10,15,5

Ce résultat n'est évidemment pas celui que nous avons. voulez, ici trier La méthode () accepte une fonction de comparaison comme paramètre afin que nous puissions contrôler l'ordre. La fonction de comparaison a deux paramètres, la valeur précédente et la valeur suivante. Si la première valeur est placée après la deuxième valeur, un nombre positif est renvoyé, sinon un nombre négatif est renvoyé, quel que soit l'ordre qui renvoie 0.

function compare(value, nextValue) {if(value < nextValue) {return -1;
    } else if(value > nextValue) {return 1;
    } else{return 0;
    }
}var values = [1, 0, 10, 5, 15];
console.log(values.sort(compare));    //0,1,5,10,15

⑪Connecter le tableau : concat(), accepter les paramètres : chaîne, tableau

⑫Intercepter le tableau (générer un nouveau tableau sans modifier le tableau d'origine) méthode :slice( ). Reçoit deux paramètres : valeur de départ, valeur de fin (peut être omis).

1 var colors = ["红色", "黄色", "绿色", "蓝色"];2 var colors1 = colors.slice(1);    //截取从起始值到结束(数值都是从0计数)3 var colors2 = colors.slice(1,3)  //截取从起始值到结束值(不包括结束值)4 console.log(colors1);        //["黄色", "绿色", "蓝色"]  5 console.log(colors2);        //["黄色", "绿色"]

⑬Méthode pour faire fonctionner le tableau : splice(). Cette méthode peut supprimer des éléments du tableau, insérer des éléments dans le tableau et remplacer des éléments du tableau (c'est-à-dire supprimer les éléments du tableau et ajouter des éléments aux positions correspondantes)

⑭Méthode de position des éléments du tableau : indexOf (). Recherchez la valeur que nous avons définie en arrière à partir du premier élément du tableau. Une fois trouvé, l'index de position de la valeur dans le tableau est renvoyé. S'il n'est pas trouvé, -1 est renvoyé. Cela peut être utilisé pour vérifier le tableau

1 //原理说明:利用indexOf只会返回数组中元素首次出现的位置与filter内函数index值的不等进行筛选2 var arry = [1,2,3,4,1,2,3];
3 var newArray = arry.filter(function(element,index,self) {4     return self.indexOf(element) === index;5 });    
//说明:filter()会遍历数组,过滤数组不符合要求的元素6 console.log(newArray);    //[1,2,3,4]

⑮Array traversal map().

1 var numbers = [1, 2, 3, 4, 5];
2 var numbers2 = numbers.map(function(item, index, array){3     
return item * 2;4 });
5 console.log(numbers2);    
 [2,4,6,8,10]

⑯Parcours de tableau forEach()

1 var numbers = [1, 2, 3, 4, 5];
2 numbers.forEach(function(item, index, array){3     
array[index] = item * 2;4 });5 console.log(numbers);    
// [2,4,6,8,10]

⑰Méthode d'itération d'accumulation de tableau réduire()

1 var numbers = [1, 2, 3, 4, 5];
2 var sum = numbers.reduce(function(prev, cur, index, array) {3     
return prev + cur;4 });    
//reduce迭代函数接受4个参数:前一个值,当前值,项的索引,数组对象5 console.log(sum); 
15

Ici, nous parlons d'abord des tableaux, et la section suivante continuera à parler des points clés à noter dans le chapitre sur les types de référence !

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!

Déclaration:
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