Questions marquées «closures»

Une fermeture est une fonction de première classe qui fait référence à (ferme) des variables de la portée dans laquelle elle a été définie. Si la fermeture existe toujours après la fin de sa portée de définition, les variables sur lesquelles elle se ferme continueront d'exister également.

7636
Comment fonctionnent les fermetures JavaScript?

Les réponses à cette question sont un effort communautaire . Modifiez les réponses existantes pour améliorer ce post. Il n'accepte pas actuellement de nouvelles réponses ou interactions. На этот вопрос есть ответы на Stack Overflow на рcribedом : Как работают замыкания в JavaScript Comment...

562
Fermetures JavaScript vs fonctions anonymes

Un de mes amis et moi discutons actuellement de ce qui est une fermeture dans JS et ce qui ne l'est pas. Nous voulons juste nous assurer de bien le comprendre correctement. Prenons cet exemple. Nous avons une boucle de comptage et voulons imprimer la variable de compteur sur la console différée....

316
Accès à une fermeture modifiée

string [] files = new string[2]; files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml"; files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml"; //Resharper complains this is an "access to modified closure" for (int i = 0; i < files.Length; i++ ) { // Resharper disable...

280
À quoi sert une fermeture en JavaScript?

J'essaie de mon mieux pour envelopper ma tête autour de la fermeture JavaScript. J'obtiens qu'en retournant une fonction interne, il aura accès à n'importe quelle variable définie dans son parent immédiat. Où cela me serait-il utile? Peut-être que je n'ai pas encore tout à fait compris. La plupart...

249
Que capturent les fermetures de fonctions (lambda)?

Récemment, j'ai commencé à jouer avec Python et j'ai trouvé quelque chose de particulier dans le fonctionnement des fermetures. Considérez le code suivant: adders=[0,1,2,3] for i in [0,1,2,3]: adders[i]=lambda a: i+a print adders[1](3) Il crée un tableau simple de fonctions qui prennent une seule...

217
Variable capturée dans une boucle en C #

J'ai rencontré un problème intéressant à propos de C #. J'ai du code comme ci-dessous. List<Func<int>> actions = new List<Func<int>>(); int variable = 0; while (variable < 5) { actions.Add(() => variable * 2); ++ variable; } foreach (var act in actions) {...

197
Fonctions PHP récursives anonymes

Est-il possible d'avoir une fonction PHP à la fois récursive et anonyme? C'est ma tentative pour le faire fonctionner, mais il ne transmet pas le nom de la fonction. $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5...

182
var self = ceci?

En utilisant des méthodes d'instance comme pour les callbacks gestionnaires d'événements change la portée de thisde « Mon exemple » à « Tout ce que vient d' appeler la fonction de rappel » . Donc mon code ressemble à ceci function MyObject() { this.doSomething = function() { ... } var self = this...