Maison  >  Article  >  interface Web  >  Un cas de la façon dont Js utilise un prototype pour implémenter un tableau personnalisé

Un cas de la façon dont Js utilise un prototype pour implémenter un tableau personnalisé

黄舟
黄舟original
2017-10-20 10:42:091529parcourir

Avant-propos

J'interviewe souvent en amont ou je communique avec d'autres collègues. Lorsqu'il s'agit de construire la méthode de définition d'un constructeur en JS, il est préférable d'utiliser un prototype. : définir la méthode Aller sur le prototype du constructeur L'avantage est que les méthodes générées par le constructeur pointent toutes vers l'index d'une fonction, ce qui permet d'économiser de la mémoire.

Cet article vous présente principalement le contenu pertinent sur Js utilisant un prototype pour personnaliser les méthodes de tableau, et le partage pour votre référence et votre étude. Je ne dirai pas grand-chose ci-dessous, jetons un coup d'œil à l'introduction détaillée.

Question

Comment implémenter le code suivant :


[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]

Solution

Utilisez l'attribut prototype du tableau et personnalisez la méthode duplicator() Le code js est le suivant :

<.>

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style></style>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
 <script>
 Array.prototype.duplicator = function() {
 let s = this.concat(this)
 return s
 }
 let t = [1,2,3,4,5].duplicator()
 console.log(t)
</script>

</body>
</html>

s'affiche sur la console comme suit :

Notes

Lors de l'écriture de ce code

Veillez à ne pas ajouter de parenthèses. Ceci à l'intérieur de la fonction fait référence à l'objet qui appelle cette méthode, c'est-à-dire le tableau.Array.prototype.duplicator

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