*MISE À JOUR* JavaScript Série complète 2023 - Partie 5 : Polyfills JavaScript (avancé) | CM Code_Zone | Skillshare
Recherche

Playback Speed


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

*MISE À JOUR* JavaScript Série complète 2023 - Partie 5 : Polyfills JavaScript (avancé)

teacher avatar CM Code_Zone, !false | funny, because its true

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Class introduction

      3:27

    • 2.

      What is a browser

      3:32

    • 3.

      Do browsers follow a set of standards

      2:46

    • 4.

      What is a polyfill

      4:32

    • 5.

      Testing to see whether forEach() is supported by our browser

      3:04

    • 6.

      What is the forEach() method

      3:01

    • 7.

      Practical example of forEach()

      5:47

    • 8.

      Building our custom forEach() polyfill

      1:23

    • 9.

      Check whether the callback is a function

      4:35

    • 10.

      Writing our callback function

      4:46

    • 11.

      What does THIS mean

      4:10

    • 12.

      Finishing off our custom polyfill

      4:42

    • 13.

      Outro

      1:18

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

74

Students

--

Project

À propos de ce cours

C'est la partie 5️ de ma série complète JAVASCRIPT

Ce que nous couvrons dans ce cours particulier ?

Nous couvrirons les tonnes d'information dans cette série entière, mais pour la partie 5, nous nous concentrerons sur ce qu'est un polyfill En fait, nous allons plus loin et construisons en réalité notre propre polyfill ensemble, à partir de zéro. Pas de plugins ou de bibliothèques. Nous utilisons un JavaScript vanille simple.

POLYFILL

Le langage JavaScript n'est pas statique. Il évolue constamment. Cela signifie que de nouvelles propositions dans la langue apparaissent régulièrement et si ces propositions sont acceptées, elles finissent par être ajoutées à la spécification JavaScript.

Les équipes derrière les moteurs JavaScript ont leurs propres idées sur ce qu'il faut mettre en œuvre d'abord. Ils peuvent décider de mettre en œuvre des propositions en cours d'élaboration et de report de ce qui est déjà dans le spectre, car elles sont moins intéressantes ou tout simplement plus difficiles à faire.

Il est donc assez courant qu'un moteur JavaScript sur un navigateur ne met en œuvre que la partie de la norme.

En bref : lorsque nous utilisons les caractéristiques modernes de la langue, certains moteurs peuvent ne pas supporter ce code. Autrement dit, toutes les fonctionnalités ne sont pas mises en œuvre partout.

Et c'est là que les polyfills viennent au secours. Un polyfill est un code (généralement JavaScript) utilisé pour fournir des fonctionnalités modernes sur les navigateurs plus anciens qui ne le supportent pas nativement. Autrement dit, il s'agit d'un code (ou d'un plugin) qui fournit le code que vous, le développeur, attendez du navigateur qu'il fournisse de façon natively

Qu'est-ce que ce cours couvre ?

JavaScript est le langage de script n°1 du web, où la plupart du contenu dynamique et stylé est géré par JavaScript en arrière-plan. Mais avant d'utiliser cette langue pour créer des sites Web dynamiques, vous devez avoir une bonne compréhension de la façon dont elle fonctionne dans les coulisses.

À la fin de ce cours, vous serez capable de « parler » JavaScript en vous permettant de comprendre comment le navigateur l'utilise, quelles sont les variables, les objets et les fonctions, quels types de données sont et comment manipuler le contenu sur un site Web. Nous creusons plus en profondeur et créons nos propres méthodes de dialogue à partir de zéro. Nous apprenons sur la syntaxe de la flèche, la fonction Math.random(), en passant en boucle dans les objets et les tableaux, en travaillant avec les dates. Nous avons étudié les prototypes, les moteurs JS, la pile d'exécution et bien plus encore !

Grâce à des exemples pratiques, ce cours vous aide à comprendre le JavaScript morceau. Et nous utilisons les dernières fonctionnalités et les meilleures de JavaScript en cours de route pour que vous puissiez rester en tête du pack.

QU'EST-CE QUE VOUS ATTENDEZ.

VOUS CONSTRUISEZ

Meet Your Teacher

Teacher Profile Image

CM Code_Zone

!false | funny, because its true

Teacher

Success takes sacrifice.

And sacrifice is something I know a lot about.

I am a self-taught developer so I understand how difficult and daunting it can be for a new comer. 

Today, I continue to code and stay on top of the latest technologies and programming languages. 

It's time to share the knowledge I've gained and to help others succeed. 

See full profile

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction au cours: ce 'd encore une autre nature bonus. Je me sens généreuse aujourd'hui. Je ne sais pas pourquoi, mais maintenant on va parler de Polly Force dans cette nature bonus. Et s'il vous plaît, ne vous sentez pas d'autres addictifs. Ça va être dur. Et il y a une raison de spécifiquement inséré le poly tombe ici et pas plus tard. Je veux que tu aies une idée de l'école de théâtre. Donc, quand on arrivera aux sections les plus compliquées, tu seras comme, Oh, je me souviens qu'on l'a fait dans la section politique. Alors asseyez-vous et profitez-en plus tard, il sera forcé. Mais ce qui est un abondant Il suffit de prendre un bâton en arrière. Rappelez-vous que chaque fournisseur de navigateur crimes sortie étrangère, Brexit l'air juste cos. Et toutes ces entreprises tentent de rivaliser les unes avec les autres et de gagner des parts de marché. cette raison, ils ont utilisé leurs propres règles. Tous les navigateurs ne suivent pas un ensemble de normes parce que les entreprises étudiantes pensent qu'elles savent mieux à cause de cela. Lorsque de nouvelles fonctionnalités sortent et codent John un script dans un HTML cinq, il n'est pas toujours pris en charge par un navigateur particulier. Alors, qu'est-ce que ça veut dire ? Ça veut dire qu'on a des ennuis ? Nous allons faire face dans la réalité que vous ne pouvez pas utiliser tout le code moderne sur un navigateur. Vous avez l'un des deux choix. Une seule fonctionnalité de langue utilisée qui sont disponibles dans leur navigateur. Ce n'est pas une solution, est-ce pas ? Non, cette deuxième solution est bien correcte, notre code moderne. Mais alors nous sommes habiles à travailler dans le Brésil plus ancien. Ok, cool. Ça semble être une excellente solution. Mais comment on fait ça ? Eh bien, c'est le but de toutes ces stations. Asseyez-vous, prenez un café. J' en ai un ici et j'apprends juste sur les particules. Profitez-en, mais rapide. Qu' est-ce qui est abondant ? Eh bien, regardons juste la définition du dictionnaire. Une partie complète est le plug in et fournit la fonctionnalité des nouveaux navigateurs, mais aux anciennes versions. Et c'est ça que tu peux en quelque sorte. Votre politique pour était une sorte de patch où vous prenez juste du code nouveau et vous le patcher pour qu' il puisse fonctionner dans un frère aîné, et c'est tout ce qu'il y a à cela. Ne soyez pas intimidés. Et si vous êtes très sournois, vous pourriez penser appliqué. N' est-ce pas très similaire à transpirer ? Trance Pilot prend votre syntaxe et converti en code machine. Maintenant pilote de transe peut aller plus loin transpiré, peut prendre un nouveau code moderne comme le concept, vous aimeriez des pertes, et il peut transpondeur code dans des choses que les navigateurs plus anciens peuvent comprendre ma chute comme fonctions. Mais malheureusement, les pilotes Trans ne peuvent que nous prendre donc avant qu'ils puissent transférer tout pile. Par exemple, ils ne peuvent pas les fonctions membres de pile transe sur les tableaux et leurs contrats empilent des choses comme des promesses et c'est toute la naissance, ou d'autres choses. Ils ne peuvent pas drones et remplir ces situations. Nous avons besoin d'une abondante. Alors, comment pouvons-nous savoir si nous devrions utiliser un parti complet ou un pilote de transe ? Eh bien, il est très largement à des règles de haut niveau. Un si son nouveau Syntex dans vous pourrait probablement utiliser un transpondeur. Mais si c'est une nouvelle méthode ou un nouvel objet, nous devrions probablement utiliser un grand qui, assez rambling Prenez un café et je vous verrai dans les registres. Apprenons à propos de Polly Force 2. Qu'est-ce qu'un navigateur: Je suppose qu'il n'y a pas de meilleur endroit pour commencer qu'avec le navigateur. Et comme je suis sûr que vous le savez, un Prowse est juste le programme utilisé pour afficher des fichiers et ne jamais obtenir le fouet. Nous savons que j'ai utilisé le chrome tout le temps sur mon iPhone. J' utilise le safari. Ce sont des navigateurs, et la fonctionnalité principale des navigateurs est de présenter une ressource que nous choisissons. Et il le fait en demandant un du serveur et en l'affichant dans la fenêtre du navigateur. Et si, pourquoi, moi ? Ce processus doit être fait super duper rapide. Parce que, oui, vous et moi sommes très impatients quand il s'agit de Google quand il s'agit de voter pages sur le Web et moitié favorise rapidement. Allons-nous y entrer plus tard ? Mais pour l'instant, sachez simplement que les chercheurs de Google ont suggéré que le temps de chargement de la page est inférieur à 100 millisecondes. Non pas que nous puissions y arriver. Je dis juste, si nous le pouvons, cela nous donne l'illusion de réponses instantanées sur le site Web parce que notre processus de mémoire sensorielle visuelle à l'intérieur de notre cerveau fonctionne en rafales de 100 millisecondes. Quoi qu'il en soit, c'est juste un peu de la raison pour laquelle je Donc, nous savons que la principale fonctionnalité du Brésil est de présenter une ressource que nous choisissons pour nous. Mais de quelles ressources suis-je en train de parler ? Chaud de la plus évidente est HTML. Chaque site Web que vous chargez doit commencer par ce point, mais ils ont aussi d'autres ressources. Nous pouvons vouloir charger comme des images. PDF XML, Jason saisit JavaScript et ainsi de suite et ainsi de suite. Mais tout est bien et bien. Nous savons donc que nous avons besoin d'une ressource. La question suivante est, eh bien, les lecteurs, le navigateur trouve cette ressource que nous ne allons pas. Et la réponse à cela est que l'emplacement de la ressource spécifiée par l'U. R I la ressource en uniforme identifie Ok, déjà. Vous voulez juste voir un exemple. Eh bien, venons juste avec un site Web fictif, mon site dot com, et une fois que vous entrez ceci, vous êtes tout ce que vous voyez à l'écran dans votre ligne vestimentaire. Le navigateur divisera cela en trois parties distinctes. Pouvez-vous deviner quelles pièces ils sont ? Eh bien, vous pouvez même le cas intuitivement. Quel serait le 1er 1 sera http. Et c'est le protocole. Ceci est l'ensemble de règles qui régissent la façon dont les navigateurs parlent au service, nous allons entrer dans le bientôt donc c'est le premier aspect de la décompose en. Deuxièmement, il décompose votre nom de service. C' est le site que vous voulez aller visiter, et pour que votre navigateur se connecte réellement aux fouets dans ce cas mon site dot com. Pour récupérer les informations que nous avons demandées, il doit communiquer avec le serveur de noms qui traduit le nom du serveur en une adresse I. P. Une adresse I P est littéralement qu'il s'agit d'une adresse. C' est un endroit où votre navigateur peut aller enseigner. Ce fichier à partir de votre navigateur Web est alors capable de se connecter au serveur Web à l'adresse I p résolue , généralement sur le port 80. Donc, c'est un deuxième article. Nous avons un protocole, le nom du serveur, et enfin, nous avons la ressource réelle que nous voulons collecter. Donc, une fois que vous naviguez est connecté au serveur Web en utilisant le protocole http dans cet exemple, le navigateur va alors lire le langage de balisage hypertexte qui indexé html loin, et c'est la langue de modification utilisée pour les grands documents sur le World Wide Web. Et puis, bien sûr, que se passe-t-il ensuite ? Les filles s'affichent à vous sur l'écran afin qu'elles aient une vue très, très haut niveau sur le processus que votre frère passe par afin de servir un fichier à votre page Web. 3. Les navigateurs suivent un ensemble de normes: vu que browses fonction principale est de nous présenter des résultats et dans de nombreux cas que Diesel commence par. Mais maintenant, vous pourriez vous demander comment navigue droite est cette Quelqu'un qui veille sur ce est Ce sont des règles et des normes qui, et c'est une bonne question. Et la réponse. Debt oui, est un consortium, une grande organisation appelée W, et il signifie juste World Wide Web Consortium. Et c'est juste une organisation est définie spécifications quant à la façon dont les navigateurs fonctionnent. En théorie, chaque ensemble de règles semble génial, mais dans la pratique, nous vivons dans un mur capitaliste, et ce que cela signifie, c'est que chaque entreprise veut améliorer les autres navigateurs si historiques, et il est seulement choisir et choisir ce règles qu'ils veulent suivre. Et c'est vous avez deviné que c'est appelé des problèmes de compatibilité graves quand il s'agit coder certains navigateurs sauf et cela a causé des problèmes pour les auteurs Web et en passant, les deux sont. Tout ce que je veux dire, c'est quelqu'un qui met du contenu sur la page Web de sorte que vous verrez beaucoup de code plus ancien que nous devons redéfinir le code pour différents navigateurs. La bonne nouvelle a dit que c'est en quelque sorte tomber. La bonne nouvelle a dit que c' Maintenant, beaucoup de navigateurs commencent à se comporter. Je vais vous montrer des exemples, puis chercher. Mais ce qui est intéressant, c'est que ces spécifications définies par le W trois c qu'elles ne vous définissent pas sont elles ne définissent pas l'interface utilisateur. Mais au fil des ans, grâce à de nombreux essais et erreurs hors de l'UE, les éléments ont commencé à se conformer les uns aux autres. Tous ces navigateurs ont commencé à imiter. Ils ont appris que l'utilisation de parler certaines page de semaine élémentaire pour être à certains endroits. Et avec cette même chose, laissez-moi vous montrer un exemple très rapide. En comparant à des browses Eh bien, commençons par la navigation la plus populaire sur le mur et ils ont décrit Vous pouvez voir une boule de graisse. On a une boule de rafraîchissement avec des boutons avant et arrière. On en a deux. Eh bien, ils sont venus dans votre objet. C' est assez standard. Maintenant, si on compare ça à Mazzella pour que sur l'actualisation pour le bouton de retour, c'est possible, aussi. Et le point que j'essaie de faire avec tout cela, c'est que vous tomberez codant dans votre carrière. Vous allez rencontrer beaucoup de vieux code qui a des problèmes de compatibilité avec différents navigateurs. Et pour cette raison, vous allez voir des codes, mais pour répondre aux différents frères de version. Mais la bonne nouvelle est que cela commence à tomber pour des raisons dont nous venons de parler. Donc, sans plus tarder, allons dans des trucs de viande. 4. Qu'est-ce qu'un polyfill: considérez cela comme une nature bonus parce que nous allons aller sur un peu d'attention. Mais je pense qu'il est très important de comprendre que c'est un très bon exemple de ce dont nous avons parlé . Donc, en prenant un bâton en arrière, nous l'avons vu depuis de nombreuses années. Différents navigateurs ont seulement suivi une petite partie des spécifications Est définies par le W trois C. Et cela signifie que les navigateurs avaient des règles différentes et certains navigateurs ont suivi certains code HTML et CSS et d'autres ne l'ont pas fait. C' est le premier problème. Le deuxième problème est que nous avons aussi d'autres standards, comme le script Sigma. Et bien sûr, encore une fois, le problème est double. Certains navigateurs ne suivent pas toutes les recommandations Sigma Scripts et le script Two Sigma est mis à jour. Idem avec les spécifications W trois C. Ainsi, au fil du temps, nouvelles fonctions et de nouvelles méthodes sont créées. Alors, qu'est-ce que ça veut dire ? Eh bien, cela signifie que les anciens navigateurs ne comprennent pas le code off. Les nouvelles règles ont du sens, à droite, et c'est pourquoi nous avons mentionné le parti tombe dans la conférence précédente. Alors qu'est-ce qu'une chute de poly ? Eh bien, au cœur même, c'est très simple. Upali tombe juste un morceau de code qui fournit un secours si certaines fonctionnalités n'existent pas dans ce moteur de navigateurs dans Java Script land. Ce sera un moteur JavaScript Net Browsers, mais il ne doit pas être John Streets, et c'est important. Beaucoup de gens pensent à Polly Falls juste pour JavaScript, mais vous obtenez aussi Polly Falls pour HTML et CSS code, qui entrera également dans minuscule mais plus tard. Mais nous allons nous concentrer sur la pièce la plus forte parce que c'est ce qui est intéressant, et c'est ce qui est plus compliqué quand il s'agit de Dave. Maintenant Polly Falls suivent généralement un modèle, et le modèle commence par une simple question. L' avenir existe-t-il dans le navigateur ? Et si la réponse est oui, eh bien, alors nous n'avons pas besoin d'un pol Si tout ce que nous pouvons simplement recourir au moteur des navigateurs pour gérer la dette, certains HTML CSS JavaScript. Cela devient plus intéressant hors cours si la fonctionnalité n'existe pas dans le frère, et c'est là que nous devons utiliser un poly chute garder trace de l'évolution constante HTML cinq dans CSS trois support dans les navigateurs Web d'aujourd'hui peut être une tâche écrasante, et cela pourrait être assez intimidant. Bien sûr, nous pouvons tous utiliser toutes les animations CSS pour créer. Certains étaient en train de frapper correctif. Mais devrions-nous ? Et quels navigateurs prennent en charge cette certaine fonctionnalité ? Et que faisons-nous sur tous les navigateurs qui ne comprennent pas ce code ? Et, bien sûr, c'est nous, Polly Falls venir dans l'image et le site, alors ce n'est que l'un des nombreux html cinq, s'il vous plaît. C' est utile pour trouver Polly Falls qui font un travail particulier. Html cinq, s'il vous plaît Il y avait une liste entière de HTML cinq éléments et voir est ses trois règles avec un aperçu du support des navigateurs dans n'importe quel Polly Falls pour la distance de chaque élément. Avant de passer à autre chose, je veux juste dire que nous avons mentionné Babel comme exemple d'une chute de poly. Maintenant Babel était Mawr ciblé sur le script Java pour vous le rappeler. Mon script Version six était une mise à jour majeure de JavaScript. Ils ont apporté de nouvelles fonctionnalités et beaucoup d'ajouts syntaxiques, mais ici six a été renommé plus tard Deux ans 2015 dans ce était de tenir pour refléter les changements dans le cycle de publication. Alors, quand sera-t-il utilisé ? Babel. Si vous souhaitez prendre en charge Internet Explorer, par exemple, ou si vous souhaitez utiliser les dernières fonctionnalités de script dans un navigateur qui ne le prend pas encore en charge. Ce qu'on a utilisé Babel, que je sais qu'on traverse beaucoup. Mais rien n'est mieux qu'avec un exemple. Alors pourquoi ne pas construire notre propre chute de fête, et cela vous aidera à comprendre comment ces choses fonctionnent. Et aujourd'hui, allons mettre en œuvre notre propre Polly Fall pour l'année augmenter pour chaque méthode. Cela a été introduit dans Java Strip 1.6 ou un conscrit pour la tradition dans la réalité, pour chacun est un très bien pris en charge en vedette aujourd'hui. Mais je l'ai choisi plus pour le fait que c'est assez simple à reconstruire. Et je peux vous guider à travers la construction de cette fête pas à pas. Mais je dois noter à ce stade que cette mise en œuvre ne sera en aucun cas complète et complète. Ça va être un moyen pour toi de vraiment solidifier la compréhension de ce qu'est un poly Feliz. Donc, si vous vouliez vraiment entrer dans le minutieux de certains Polly Falls pour certaines fonctions, je recommande de visiter Mozilla Documentation Network ou Indian sont mis un lien à la fin de cette conférence. Ok, donc on vient de dire qu'on va faire du bowling pour chaque fête pleine. Et rappelez-vous ce que le premier conseil Waas Quelle est la première question de Polly pour doit demander pour qu'il soit mis en œuvre ? C' est vrai. Est-ce que le navigateur prend en charge la fonctionnalité de laisser ? Donc, la première étape est de vérifier si quatre chaque méthode est prise en charge nativement par notre navigateur. Allons jeter un coup d'oeil. 5. Essai de vérifier si forEach() est soutenu par notre navigateur: pour déterminer si les quatre chaque méthode existe sur notre navigateur. Nous pouvons utiliser la console, affaiblir à droite, un peu de JavaScript. Alors ouvrons le chrome, c'est ce que je fais ici. Et maintenant, accédons à la console. Et très peu de gens vont le savoir. C' est ce qu'on appelle un prototype. Ce sont deux endroits différents. Nous pouvons écrire un script Java dans chrome, les premiers et les plus évidents endroits dans la console. Par exemple, nous pouvons consoles log Hi, chérie, et, comme nous pourrions nous y attendre, cela reviendrait haut dans la console. C' est là que la plupart des gens vont écrire un script Java, mais cela peut être lourd car nous devons exécuter chaque ligne de code ligne par ligne. Il y a un peu loin, hum, ou amusant et intuitif et juste un peu loin. Où est-ce qu'on va ? Eh bien, sur la bande des sources et dans les sources, Ted, on peut créer ce qu'ils appellent et un nouvel extrait, et on peut appeler notre dossier n'importe quoi. Appelons ça le soutien natif Taste parce que c'est ce que nous faisons maintenant. Comment goûter avec elle avant que chaque méthode n'existe ? Eh bien, la première chose que vous devez savoir est que les quatre chaque méthode existe sur le prototype de chaque tableau unique. Ce que cela signifie, c'est que lorsque nous créons un tableau a automatiquement accès à toutes les méthodes et propriétés attestent ce prototype sur lequel l'un d'eux devrait être les quatre chaque méthode. Donc, nous allons juste goûter si les quatre retournent sous find à cause d'un retour indéfini, cela signifie qu'il n'a pas de support pour cela. navigateur ne sait pas ce que c'est. Donc une façon de le faire. Et à bien des égards, je comprends que je fais juste une méthode rapide et sale. Nous existons l'objet tableau. Nous accédons à son prototype et seul prototype. Il devrait s'agir d'une méthode de quatre pouces si elle est prise en charge nativement, et cela ne devrait pas revenir sous le feu. Et s'il retourne indéfini, nous savons qu'il n'existe pas. Maintenant, il y a deux façons d'exécuter ce script Java. Vous pouvez pousser le contrôle, entrer sur votre clavier ou nous pouvons cliquer sur l'endroit sur. Donc je vais juste cliquer sur l'endroit et on y va. Il revient. Vrai. Cela signifie que les quatre chacun n'est pas égal à indéfini. Et là, vous avez que nous venons de confirmer que chacun est nativement pris en charge sur ma version actuelle hors crime. Ok, donc nous avons vu que notre baraza prend en charge avant chaque méthode. C' est sur chaque tableau que nous créons. Et c'est sur la théorie du prototype que pour illustrer ce qu'est un politique, faisons semblant que notre navigateur est vendu qu'il ne sait pas avant chaque fonction. Alors, allez de l'avant, mettez ça à l'arrière de votre esprit. Faisons semblant qu'il est en fait sous feu avant que chaque mythe n'existe pas sur notre frère. Cool. Je pense que c'est assez de cette conférence. Nous avons traversé beaucoup de choses en peu de temps. Dans la nature suivante, commençons à construire ce puissant. 6. Qu'est ce qu'est la méthode forEach(): juste avant que nous commencions à construire notre chute Polly, vous devez comprendre ce qu'il est en train de reconstruire et pour comprendre ce qu'il est reconstruire. Évidemment, nous devons comprendre ce que chaque méthode est censée accomplir à son cœur avant que chaque méthode ne soit juste un moyen de faire une boucle à travers votre tableau et d'utiliser. Six introduit le tableau pour chaque méthode. Ce que vous faites est que vous appelez ce mythe sur votre A et quand vous devez passer dans une fonction de rappel pour exécuter à chaque itération hors de la boucle. Et juste au cas où vous vous demandez, un rappel est juste une fonction qui est seulement exécutée offed. Une autre fonction est terminée exécutée. D' où le mot rappel. Ok, donc nous connaissons les quatre. Chaque méthode nous oblige à passer une fonction de rappel dans cette fonction de rappel accepte deux arguments principaux. Eh bien, en fait, il accepte trois arguments, mais le troisième argument est un tableau que vous voulez échanger. Je n'ai jamais eu à l'utiliser, donc je vais juste me concentrer sur les deux arguments principaux que vous passez dans cette fonction de rappel . Le premier est la valeur de l'élément actif dans la boucle et le second est l'index de cet élément. Et vous pouvez nommer ces variables tout ce que vous voulez. C' est ce que la fonction de rappel va prendre. Et nous allons devoir être audacieux dynamiquement dès le début, ce que vous verrez dans un instant et juste prendre du recul. Rappelez-vous simplement que les quatre chaque méthode est une méthode appliquée au prototype de tableau. Nous avons vu cela quand nous avons dû voir si c'est nativement pris en charge. Nous quittons le prototype de tableau pour chaque méthode et pour chacune est juste un moyen pour nous de regrouper à travers un tableau. Et JavaScript est une bête très curieuse parce qu'ils sont tellement de façons différentes d' accomplir la même tâche. Et c'est aussi génial comme ça parce qu'en tant que développeurs, il nous donne beaucoup de flexibilité pour utiliser ce que nous pensons être le mieux. Ce que cela signifie, c'est qu'avant chaque méthode n'est pas seulement la seule que nous pouvons utiliser pour regrouper à travers un taux, nous avons également la méthode quatre dans laquelle nous avons quatre dans, nous avons quatre rabais et nous en avons même d'autres. Mais les quatre chaque méthode vient avec une petite grotte, Pourtant cela ne fonctionne que sur une augmentation. Donc, si vous voulez réellement compter ou que vous voulez excès de boucles sur un objet, alors avant chaque probablement ne va pas être votre ami. Et l'autre chose avec quatre chacun est, est que certains développeurs affirment qu'il souffre des problèmes de performance. Prenez un peu, et si c'est une préoccupation pour vous, alors vous pouvez contourner ça. Vous pouvez utiliser des bibliothèques comme Loaded et je ne veux pas qu'on entre dans Lodish maintenant. Mais c'est fondamentalement juste une bibliothèque d'utilitaires et a conduit un script qui nous conduit à beaucoup de choses courantes, telles que la boucle à travers une augmentation et les codes écrits d'une manière qui est très, très efficace. Performance efficace, très rapide. Ok, eh bien, si vous êtes quelque chose comme moi, lire un tas de mots sur un écran n'aide pas vraiment à comprendre ce qu'est un quatre chacun . Donc, avant de commencer à construire notre fête pleine, laissez-moi juste vous montrer ce qu'est un quatre chacun en vous montrant un exemple et ensuite affaiblir plonger directement dans elle en tirant vers le haut très propre parti plein. Regardons juste un exemple rapide 7. Exemple pratique de forEach(): Ok, alors commençons par vous montrer ce qu'avant chaque méthode fait aussi. Ouvrons à nouveau le crime et vous pouvez voir que nous avons même des exemples précédents à l' écran. Je vais couper ça en temps réel avec toi. Et pour le prouver, laissez-moi me montrer par magie juste seconde à seconde. Donne-moi juste une seconde. On y va. Très bien, donc je suis avec vous codant en temps réel, et je veux juste vous montrer ce que les quatre chaque méthode est sensée faire. Et je veux vous donner un exemple qui n'est pas si facile. Vous savez, je peux juste utiliser un tableau et nous passons juste par la console Rand de ces éléments. Mais j'essaie toujours, et je veux dire, je pense que vous au point maintenant, surtout avec ce cours que vous comprenez à un script de travail de haut niveau est donc allons créer deux tableaux et nous prenons tous les éléments dans le vent ou la pluie. On l'a poussé dans le secondaire. C' est quelque chose de plus différent. Donc d'abord, c'est le cas. C' est du crédit sur le dossier, un autre extrait, et c'est juste appeler ça pour chacun. Maintenant, la première chose que je veux faire est de créer un tableau. C' est juste cool. Soulevez le tableau un. Et nous allons juste avoir ça plein de nourriture. Disons juste que le lait, miel et je ne sais pas devrait créer un tableau pour, Et à ce stade, c'est juste un tableau vide. L' étape suivante est que vous l'avez deviné. Créons notre pour chaque boucle. Faisons-le. Alors accédons au tableau un. Et sur ce tableau, nous devrions avoir accès aux quatre chaque méthode nativement parce que nous savons que chaque tableau sur notre Baraza a un prototype et leur prototype a les quatre chaque minute. Et vous vous souvenez de ce que chaque méthode a pris ? Quel est l'argument qui a été invoqué en elle ? C' est vrai. Fonction de rappel. Donc, nous allons fournir une fonction de rappel. La fonction de rappel a pris deux arguments. Will en fait pris trois, Rappelez-vous, Mais le 3ème 1 je voulais juste ni fins de fichier. Il faut deux, et le premier argument est l'élément réel dans le rayon. Et pour l'amour de la dispute, nous allons juste appeler cet article. On peut l'appeler comme on veut. Et le deuxième élément que nous passons cette fonction est l'index et encore pour la simplicité. Appelons ça dans quelques jours. Maintenant. Ce que cela nous permet de faire est que cela pour chaque méthode va itérer sur le tableau un et chaque fois qu'il évalue sur le tableau un. Il va prendre chaque élément dans ce tableau, et il va nous jeter en arrière et l'élément dedans se terminera. Que voulons-nous en faire ? Eh bien, poussons l'élément dans le nouveau tableau à Donc, nous allons l'excès de tableau pour pousser chaque élément dans le Saray de l'autre me pousser qui est très similaire aux quatre chacun en dette sur le prototype de tableau ce qui signifie que nous avons accès à lui nativement tout droit sorti de la boîte. On va utiliser Template Little ici et on va exister. L' article Lucia dit, a été ajouté son numéro et ils diront excès les Indes Et dans la dernière chose que je veux faire est que je veux vous montrer à quoi ressemble ce tableau. Alors exécutons cette fonction en appuyant sur le contrôle. Entrez et nous y allons. Nous pouvons voir ce que le résultat est sur l'écran. Milk a été rédacteurs numéro zéro sur il a toujours été le numéro un et devrait être rédacteur numéro deux. Et bien sûr, nous pouvons même améliorer ce manteau. Nous savons que la façon nouvelle et améliorée de faire les choses est l'Aris au Texas. Vous pouvez vous débarrasser de la fonction de mot-clé et nous pouvons mettre un Paris au Texas. Ouais, et on peut recommencer. Désolé, nous devons rafraîchir pour rafraîchir notre co. Effacons la console et lançons la. Ici, nous allons obtenir exactement le même résultat. Mais maintenant, en utilisant le nouveau et amélioré Aero Syntex avant de passer à cette autre chose, je dois mentionner ce que ces quatre chaque méthode et qui est Qu'est-ce que c'est ? Se référant à 11 façon de dégustation. Ce à quoi cela fait référence est, nous allons simplement console, déconnecter la console, connecter ceci et un jeu. C' est juste faire re frais. Il est clair sur la console et il est en cours d'exécution. Ce que cela nous dit, c'est que le mot-clé this fait actuellement référence à l'objet window. Cela a du sens, et nous allons aborder cela plus en détail plus tard, alors ne voulez pas sauter sur la raison pour laquelle cela arrive maintenant. Je vais parler de ça, donc accroche-toi pour ces chauves-souris avec nous pour chaque méthode. Il faut en fait deux arguments. Le premier argument était la fonction de rappel, ce que nous avons fait. Mais le deuxième argument ici, il est également intéressant de définir ce que nous voulons que cela le pointe. Donc, par exemple, si vous vouliez que cela pointe vers Ray 1, nous pourrions simplement passer le tableau un dans le deuxième argument. Ok, nous allons rafraîchir. Il est clair que cette console dans cette exécution à nouveau. Regardez toujours se référant à l'objet fenêtre. C' est une nouvelle flèche. Syntex. Si nous revenons à notre ancienne fonction, il le ferait et nous nous débarrassons de l'erreur. Maintenant, nous faisons exactement la même chose. On recommence ça. On y va. Nous obtenons cela se référant au tableau réel. Ok, alors gardez ça à l'esprit avec l'héritière Syntex. Il gère vraiment le mot différemment. Mais comme les quatre chaque méthode est de montrer seulement deux arguments, premier argument est une pension de façon cool. Le deuxième argument est ce à quoi vous voulez que cela fasse référence. Mais si vous utilisez cela, vous devez revenir à l'ancienne façon d'écrire une fonction que je sais que c'est beaucoup, mais vous le faites alors continuons et commençons à écrire notre propre 8. Créer notre polyfill forEach() personnalisé: super. Nous savons ce qu'un quatre fait chacun. Maintenant quoi ? Je veux que tu fasses ça. Supposons que notre navigateur n'a aucune idée de ce qu'un quatre pouces disent qu'il n'est pas nativement pris en charge par notre frère. Donc, nous voulons construire un puissant sur notre prototype de baie. The First Deep va écrire le début de notre code. Et j'allais ressembler à ça. Ok, laissez-moi juste souligner qu'il est sur le prototype de notre objet tableau. Ensuite, nous avons voulu trouver les quatre chaque méthode. Nous pouvons nous appeler ce que nous voulons, mais à nos fins, je veux que nous l'appelions pour chacun et nous le mettons sur le prototype du tableau JavaScript. L' objet global que nous connaissons pour chacun est une méthode. C' est pourquoi nous avons la fonction, mot-clé et le cou pour chaque méthode prend deux arguments. Le premier argument qu'il prend est un rappel. Et rappelez-vous ce Colback qui prend trois arguments, cet élément de texte, cet index et ils ont raison. Je n'utilise pas souvent leur rayon. C' est pourquoi nous nous concentrons uniquement sur l'élément et l'index. Mais cela prend en fait trois arguments et la première chose que nous devons tester pour notre Polly Fall dans notre code personnalisé est que le rappel doit être une fonction doit être une fonction qui prend les éléments comme ses entrées. Alors passons à la console et commençons à rectifier d'abord, mais de manteau. 9. Vérifiez si le rappel est une fonction: comme mentionné. La première partie de la construction de notre Polly Fall va devoir être de déterminer si cette fonction de rappel est que c'est la fonction. Alors allons y entrer. Commençons à nous lever, Polly. Automne. Donc ce que je vais faire ici, c'est que je vais créer un nouveau fichier et je vais juste appeler ça abondant et ce que nous voulons. Ce Polly pleins deux duis. Nous voulions être sur le prototype de chaque érection. Donc, nous voulons accéder à l'objet ray en JavaScript sur son prototype. Nous voulons définir une nouvelle fonction appelée pour chacun. Maintenant, dans ce cas, vous et moi savons que notre navigateur doit être pris en charge. Mais parce que je le fais de cette façon, je vais en fait remplacer la fonctionnalité normale pour chacun. Donc, en fait, nous allons créer une toute nouvelle Polly pour une toute nouvelle fonction. Nous savons que ces quatre n'est pas une méthode et ce mythe qui prend deux arguments, le premier argument est une fonction de rappel dans notre cas. Appelons le rappel. On peut l'appeler comme on veut. Et rappelez-vous, le deuxième argument était ce que nous voulons définir. C' est ça. Je viens de nous appeler que cet argument. Ogg ceci et là vous l'avez. C' est ainsi que nous avons commencé à construire notre chute de fête. Maintenant, la première chose que nous voulons faire est de vérifier si le retour cool est une fonction. Et nous le faisons en utilisant des scripts Java dans la méthode de boulon appelée type off. C' est un opérateur. Donc, ce que nous voulons faire est que nous voulons goûter si le type de la terrasse fraîche. S' il n'y a pas de fonction, alors que voulons-nous arriver ? Eh bien, nous voulons arrêter notre code parce que ce doit être une fonction. Donc, ce que nous voulons faire, c'est que nous voulons lancer et que vous tapez ère, et ce que nous voulons faire est que vous voulez revenir au rappel, et nous voulons dire n'est pas une fonction juste pour que l'utilisateur ait des commentaires sur ce qu'il est qu'un ivrogne. Et nous savons que si cela ne jette pas l'ère de type, ils ne sont pas le code peut continuer. Nous pouvons continuer notre code ici. Donc là, vous l'avez. Tester si ce code fonctionne ou si nous avons fait quelque chose de mal. La première chose que je peux vraiment repérer que tu ne l'as même pas encore goûté. c' est le cas. J' aurais dû faire des sons égaux ici. En fait, je veux être la même chose. Top est fonction. Voyons si ça marche. C' est clair notre console et allons courir. Bien sûr, je n'ai pas réellement exécuté la fonction pour chaque fonction. Donc ce que je dois faire entendre ce petit pour trouver un nouveau tableau allumé équivaut à la fumée, miel et au sucre et maintenant mène. Les sorties sont pour chaque méthode. Nous avons juste boulon pour chacun et nous allons juste exécuter. Ne passons pas dans une fonction. Que croyez-vous qu'il se passera ? Eh bien, essayons de l'exécuter de type cour ère Undefined n'est pas une fonction. C' est exactement l'époque que nous avons jetée ici. C' est pour ça qu'on lance une ère. Je veux dire, même si vous mettez quelque chose qui n'est pas une fonction comme sur cette note, faisons le journal de la console A. Par exemple, c'est maintenant, donc nous avons déjà défini. Rénovons effacez la console et exécutez-la. On y va. Le journal de la console n'est pas une fonction, donc cela vous montre simplement pourquoi nous lançons une ère, parce que nous donnons des commentaires à l'utilisateur disant, Hey , les gars, vous devez réellement passer une fonction dans les quatre chaque méthode. Alors faisons ça. Laisse-moi te montrer qu'est-ce que ça veut dire ? Bon, eh bien, jetons la fonction. Donc passons une fonction que vous allez Dans ce cas, la fonction est complètement vide. Alors actualisons la page. Dégagez la console. C' est exécuter cette fonction et le vous allez. Nous n'avons pas la tête et l'ère et nous n'arrêtons même pas le code en disant cool souvent. Era n'a pas été jetée. Allons juste dans le journal de la console. Oui, on peut continuer aujourd'hui, tu pars. Voyons si ça marche. Il est exécuter notre fonction et vous pouvez voir l'amour à l'écran comme oui nous pouvons continuer. Et cela prouve que notre cœur est en fait une fonction géniale. Droit ? Donc c'est la première partie pour construire notre propre chute Polly. Vous pouvez voir que nous n'avons pas fait par aucun moyen parce que nous n'avons même pas eu ce que la fonction de rappel devrait faire. Et c'est tout droit dans tout le tableau et ensuite nous permettre de manipuler et de travailler avec l' élément et l'index. Ils verraient comment faire ce trophée 10. Rédiger notre fonction de rappel: Ok, sois avec moi. Sois avec moi. Parce que maintenant on va finir d'écrire notre fonction de rappel. Et avant qu'on le fasse, on doit savoir ce qu'on veut faire à nouveau. Et rappelez-vous comment avant que chacun soit une boucle, ce qui signifie que nous devons savoir combien nous avons besoin de boucle sinon va aller indéfiniment. Dans notre exemple, nous avons défini un tableau avec trois éléments fumée, miel et sucre. Alors, la première chose est, pourquoi on y accède ? Et le plus évident Anta utilisait le mot-clé this. Mais à quoi cela se réfèrera-t-il ? La façon la plus facile encore. C' est juste pour console sur le marché. Je vais vous montrer quelques façons de goûter ce que c'est. Mais c'est le moyen le plus intuitif et voyons ce que c'est. C' est clair sur la console et c'est juste. Nous avons consul longtemps, ceci à l'écran, et c'est la théorie. Nous pouvons voir que le lait, miel et le sucre, et il contient trois articles. Donc c'est cool. Nous savons qu'une autre façon de vérifier ce que c'est et cela le définit dans une variable. Disons allumés. Appelons ça la longueur. Lane pour longueur égale cette pensée et ce que nous pouvons faire en particulier. Et c'est ce qui est amusant lorsque vous travaillez dans l'onglet sources avec notre propre fichier, nous pouvons mettre un point de rupture ici, et ce que vous pouvez faire, c'est que vous pouvez exécuter cette fonction. Alors faisons-le. Désolé, nous allons d'abord rafraîchir ici la console. Et maintenant mettons un point de rupture ici dans cette course. Ce qui va faire, c'est arrêter le code à ce stade. Et ce qui est intéressant ici et où vous voulez regarder est la section de portée dans les outils Dave , et vous pouvez voir que Lane est actuellement sous find right parce que nous pause qui permet exécuté cette ligne. Mais dès que nous franchissons et que nous exécutons cette ligne, impatient Len est égal à trois, donc nous pouvons voir ici que cela pointe vers l'Iran même pour planer dessus. C' est notre appel, Dave Tools est Il vous montre à quoi cela fait référence. C' est pourquoi nous pouvons accéder à la méthode in bolt length sur ce tableau. Génial, c' est ça. Ok, donc nous avons établi que nous avons la propriété de longueur. Supprimons ce point de rupture et c'est juste continuer. Teoh, exécutez notre code et nous avons tous fait dans la ligue finale saupoudrée est aussi. Regardez à travers le pouvoir, n'est-ce pas ? Et bien sûr, nous pouvons simplement utiliser la variable tombée traditionnelle. J' ai commencé Zira, et on va appliquer cette boucle tant que j'ai moins de longueur. Et chaque fois qu'il est itéré à travers cette fonction, nous allons augmenter. Je veux qu'on sache que c'est la norme pour le groupe que nous connaissons et aimons tous. Et maintenant ce que nous voulons faire est de trouver notre fonction de rappel, va ici et se rappeler quels arguments sont la fonction de rappel a pris. Essayez de prendre trois arguments. Donc nous allons appeler notre fonction de rappel, et nous allons lui donner trois arguments. Trois arguments sont l'élément, qui est le tableau, et nous allons exister l'élément réel. Donc, nous devons transmettre le numéro d'index. Le deuxième argument est l'indice lui-même et l'argument de la nourriture. Tu te souviens du cœur ? Vous voyez, nous n'en avons pas vraiment besoin, mais nous pouvons, dans ce cas, juste pour des raisons d'exhaustivité, nous devons ajouter ceci. On doit vraiment y passer Ray lui-même. C' est cool ? On l'a fait à peu près maintenant. Donc, ce qui se passe, c'est que nous pouvons l'utiliser pour chaque méthode. Nous nous souvenons que la fonction prend trois arguments. L' élément que l'index et nous venons de l'appeler argument ceci et tout, nous pouvons faire des choses avec eux comme nous le souhaitons. Dans notre exemple, allons juste console élément de bug en jours dans tout cela juste pour que vous puissiez voir qu'il fonctionne comme prévu, c'est prévu, exécuter cette fonction. Tu viens de créer notre propre Polly plein. Et ça marche comme prévu. C' est génial ? Mais il y a encore une chose à faire, n'est-ce pas ? Souviens-toi quand on a regardé ça, c'était dans une de ces larmes. Ce n'était pas un support natif pour chacun. Souvenez-vous de ça. Nous avions que ce mot-clé dans ce manteau c'est la norme en gras réunion de quatre pouces et que cela faisait référence à l'objet de fenêtre. Mais nous pourrions poser un deuxième argument dans cet exemple, nous avons regardé, nous avons passé dans le tableau un et nous l'avons utilisé pour les sauveteurs. Eh bien, comment ferons-nous ça ici ? Je veux que tu penses à nous, et je te montrerai à la prochaine conférence. Comment faire cela 11. Qu'est-ce que cela signifie: terminons avec la dernière partie de notre abondance, et c'est de régler ce problème. Donc, pour rendre les choses plus faciles, laissez-moi simplement supprimer le journal de la console précédent. Et je veux juste te montrer. Si nous annulons l'amour à l'écran, que pensez-vous qu'il se passe ? Qu' est-ce que tu crois qu'il va être montré sur la console ? Eh bien, jetons un coup d'oeil. Il exécute la fonction, puis vous allez à l'objet fenêtre. Pourquoi c'est ça et ce qui est encore plus bizarre ? Ça tue juste la console à nouveau. Ce qui est encore plus bizarre que nous mettons une pause ici et que nous commençons à exécuter ceci, Exécutons la fonction et regardons à nouveau ces variables locales. Ok, portée. Je vais rester dans le code que nous arrivons au tableau. Maintenant, nous arrivons aux quatre chaque fonction, donc ça va sauter dans notre nana personnalisée. Ça va vérifier avec les rappels, pas une fonction. Ça va passer ça. Et c'est ce qui est intéressant, non ? Que cela je survole que quand j'ai utilisé ce mot-clé avec dans la cour qui fait référence au rayon. Mais quand nous sortons avec quand nous arrivons à ce journal de console, il se réfère en fait à l' objet de fenêtre. Si je continue à exécuter cela, nous allons nous passer à travers maintenant nous à ce verrouillage de la console nous côté extérieur des quatre chaque fonction et maintenant nous savons passer au-dessus de cela. Vous pouvez voir que cela fait référence à l'objet window. façon dont nous sommes nous n'a pas de sens. Au moins, vous connaissez le script Java, parce que cela a du sens et je vais vous montrer pourquoi dans une seconde. Mais avant de vous montrer pourquoi et entrer dans le minutieux de celui-ci. Il suffit de prendre du recul et de regarder les différentes façons dont nous venons d'exécuter des fonctions. Quand nous avons exécuté pour chacun, nous l'avons fait comme un noyau de méthode. Nous l'avons exécuté comme une méthode. C' est alors que nous exécutons réellement la fonction de rappel de la fonction. Regarde comment on le fait. C' est vrai. C' est une fonction régulière. Nous n'existons pas. Méthode Zika avant de l'appeler, nous exécutons juste leur fonction. Et il peut sembler à la surface que c'est une différence très subtile. Mais il s'avère que la différence subtile provoque profondément la correction. Mais laissez-moi vous montrer pourquoi. Laissez-moi simplement sauter à l'autre écran rapidement et vous montrer pourquoi cela arrive je ressens votre douleur . Je sais qu'il peut être difficile de contourner cela et ce qu'il devrait faire référence à différentes zones de votre code. Mais c'est juste une vue d'ensemble très rapide et de haut niveau de cela et pourquoi il fait ce qu'il fait. Cela a pris un exemple rare, et il crée un tableau avec trois valeurs dans un chien, un chat et une souris. Et asseyons notre code. Oui, un avec lequel nous avons travaillé sans politique, et vous remarquerez quand nous irons exécuter ça pour chaque méthode. Comme l'actrice l'a dit précédemment, cette fonction nous est appelée une méthode. Donc, nous le savons dans ce cas déroutant. Mais nous saurons que cela a été référé au tableau dans ce cas. Mais quand nous obtenons notre fonction de rappel, c'est là que les choses deviennent très intéressantes, parce que le script Java gère cela très spécifiquement quand il s'agit d'appeler des fonctions dans Harley of Court. Lorsque nous passons une fonction aux quatre chaque méthode hors du tableau, la valeur de ceci est la fenêtre d'objet global. En d'autres termes, cette sanction sera une méthode hors de la fenêtre d'objet, et c'est juste la façon dont JavaScript fonctionne lorsque vous avez une fonction qui n'est pas appelée en tant que méthode, puis par défaut, cette fonction est en fait omise de l'objet window. Quel que soit l'objet global, en fonction de votre environnement de script Java. Par exemple, si vous exécutez et noeud, l'objet global n'est pas l'objet fenêtre. Ça s'appelle, ironiquement, global. Donc, nous pouvons dire que c'est un peu comme les quatre chaque méthode de rappel appelle fenêtre cool big. Et c'est pourquoi lorsque vous utilisez ceci, cela fait référence à ce qu'on appelle un rappel dans ce cas, la fenêtre, l'objet window. Qui ? Son cas. C' est à un niveau très élevé, que se passe-t-il en arrière-plan ? Mais la question que vous posez probablement maintenant est correcte. Cool, je comprends. Mais comment pouvons-nous résoudre le problème ? Comment définissons-nous ce que cela devrait se référer ? T. Et si je voulais que cela se réfère à mon tableau, pas à l'objet gagnant ? Et il s'avère qu'il y a une solution très simple à cela. Vérifions ça 12. Terminer notre polyfill personnalisé: il se sent comme ce Polly pour ne finira jamais. Crois-moi, ça le fera. J' en ai marre. Donc, on va le faire dans une politique pleinement fonctionnelle. Nous avons donc vu que cela fait référence à l'objet global. Mais comment définir ce que nous voulions être ? Eh bien, une solution simple à cela est d'utiliser la méthode cool. Quelle est la méthode d'appel sera à nouveau intégrée dans JavaScript. Et cela nous permet juste d'appeler la fonction, appeler la méthode et de définir ce que nous voulons que cela se réfère. Et c'est ce qu'on veut ici. Laissez-moi vous montrer rapidement ce que c'est avant de partir et de l'exécuter à nouveau. Nous allons créer un nouvel extrait, et il est juste appelé nous tous méthode et laissez-moi vous montrer ce que ce calme si elle fait. Tout d' abord, définissons une fonction appelée nourriture. Et si je veux dire que vous au script Java, je ne sais pas pourquoi, mais souvent quand vous faites du code de test, vous définissez la nourriture et vous définissez la barre, donc vous verrez beaucoup de cela circuler. C' est pour ça que j'ai décidé d'appeler ça de la nourriture. n'y a pas de signification particulière ou de valeur derrière cela, et tout ce que nous voulons dysfonctionnement à faire, c'est que nous voulons que cette fonction conservera ceci. Et que croyez-vous qu'il se passera quand on exécutera de la nourriture ? Est-ce une fonction appelée sur une méthode ? Où est cette fonction irrégulière ? Bien sûr, c'est une fonction régulière, donc la valeur de ceci devrait être l'objet de fenêtre. Et exécutons ce code. Voilà, tu y vas. Nous pouvons voir que c'est l'objet fenêtre, et je veux vous montrer comment fonctionne la méthode de base. Et pour ce faire, c'est juste pour trouver un objet. C' est une barre allumée égale à un objet vide. Maintenant, exécutons à nouveau la fonction alimentaire. Mais faisons-le avec la méthode de base. Donc, nous accédons à la fonction. Nous accédons à la méthode d'appel de boulon négatif, et le premier argument est ce que nous voulons que cela fasse référence dans cette barre de cas. Maintenant, s'ils étaient des arguments dans la fonction alimentaire, on pourrait faire des colis ici, mais ce n'est pas le cas. C' est donc un exemple très simple. Mais que crois-tu qu'il va se passer ? Eh bien, c'est clair sur la console et c'est du code épuisé. Et voilà. Ce n'est pas l'objet de fenêtre dans votre parce que nous avons dit au moteur quand nous utilisons cela que nous voulons faire référence à la barre dans ce cas la cour anti objet. Donc, c'est exactement ce que le calme si elle fait, il est maintenant mettre en œuvre dans notre belle pour résoudre nos problèmes. Donc, la première chose que nous devons faire est que nous avons permis de mettre un deuxième argument dans les quatre chaque appel de fonction que vous pouvez voir en haut Nous avons défini que les deux arguments, un rappel et un argument ceci maintenant quand nous ne mis en ogg ceci, il va juste revenir sous trouver que ça va traiter l'argument de la dette est indéfini, et dans ce cas, nous ne l'avons jamais utilisé de toute façon, donc il ne s'est pas vraiment rencontré, mais maintenant nous allons réellement l'utiliser. Donc ceci et maintenant la prochaine chose que nous devons faire est juste de changer nos rappels. Probablement, parce que maintenant nous ne voulons pas seulement exécuter la fonction directement, est-ce pas ? Nous voulions quitter via la méthode d'appel, et rappelez-vous, le premier argument est ce que nous voulons que cela fasse référence, et c'est ce que nous allons faire une pause dans Dhakal tout le reste. Au lieu de cela, la même chose nous appelle et rappelez-vous ce que j'ai dit, si ce n'est pas défini, qui signifie que si nous ne passons pas dans un argument, cela va simplement résulter comme indéfini. Et cela, dans ce cas, ferait simplement référence à l'objet global, qui est ce que nous voulons de toute façon, Donc, il résout de et pour vous le prouver. Faisons en sorte que tu travailles. Il est juste enregistrer ici sont console et exécutez notre code. On ne veut pas de points de rupture. Permettez-moi d'enlever le point de rupture. Continuez à exécuter le code. Désolé. Sont obtenir ce qui vous voit. Et c'est la bonne chose à propos de travailler dans la console. On nous renvoie tous ces zéros et on sait exactement que je le répare. Désolé, j'ai mis tout cela est un deuxième argument, mais cela doit en fait se référer à quelque chose. Dans ce cas, nous voulons que notre tableau soit ce n'est pas les objets globaux que je ne pouvais pas retarder cela. Donc, nous allons juste effacer la console à nouveau et essayer de l'exécuter et vous y allez. Cela fait maintenant référence à notre tableau lent dans votre esprit autant que le mien et pour vous le prouver. Si nous supprimons tableau, nous devrions obtenir à nouveau l'objet globe. Donc supprimons ça. Je ne passe rien. Console Killer, Clear La console et Mrs entourent la fonction. Et nous revenons à notre objet de fenêtre pour lequel nous venons de créer notre fête, et je sais que c'était un peu des troupes tangentes d'un sidestep et je me suis dit, tu sais quoi ? Si tu ne comprends pas à quel point une belle va toujours te frustrer, alors laisse-moi juste être quelques conférences. J' espère que ça vous a plu. Mais revenons à ce que ce cours est vraiment, vraiment. Les âges à venir espèrent que vous avez apprécié la section Savona. C' est continué. 13. Pour conclure: Tu sais, tu l'as si bien maîtrisé. Et comme je l'ai dit, j'espère que tu n'as pas été intimidé par ça et que tu sais que ça a été un peu dur. Nous avons eu beaucoup de fonctionnalités dont nous n'avons pas encore discuté. Au cours de ne pas vous inquiéter si vous êtes un peu perdu sur, mais un mur a du sens à la fin de son cours, la seule chose que je veux juste mentionner est un point de clôture est que Java script est le langage utilisé pour écrire du miel pour les chauves-souris. Le Poly complet lui-même n'a pas besoin d'être utilisé $4 script. En fait, vous pouvez créer un pontife tout pour implémenter diverses fonctionnalités de navigateur autres que sans emploi. Eh bien, quelles autres caractéristiques et de parler ? Quelles autres fonctionnalités pouvons-nous créer ? Un abondant, bien, bien, peu près tout ce que vous voulez des choses comme le canevas SPG, stockage Web, local et des vidéos de stockage de session. HTML cinq éléments. See est un design réactif avec des prises. Géolocalisation Est-ce suffisant ? Comme vous pouvez le dire, il y a beaucoup de choses que nous pouvons faire. C' était donc une leçon très importante pour vous. Content que vous ayez été soldat avec moi et je vous verrai dans la section suivante. Profitez-en