Connaissances Informatiques >> programmation >> Programmation JavaScript >> Content
  Derniers articles
  • Comment trouver un premier numéro à…
  • Comment additionner deux nombres ave…
  • Javascript Galerie Tutorial 
  • Comment éviter Javascript Void 
  • Comment faire pour créer un graphiq…
  • Comment faire pour modifier un chapi…
  • Comment faire une carte Google Map O…
  • Comment faire un applet dans NetBean…
  • Comment puis-je utiliser iBox 
  • Tutoriel sur les menus déroulant en…
  •   Programmation JavaScript
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Programmation JavaScript

    Quels sont les fermetures Bon pour en JavaScript

    ? Quand une fermeture est créée en JavaScript, vous pouvez utiliser des variables locales d'une fonction , même après que la fonction a terminé , avec les valeurs qu'ils avaient à la fin de la fonction. Chaque fois que vous utilisez une fonction dans une autre fonction , utilisez " eval" dans une autre fonction ou définir une variable dans une fonction sans " var ", vous créez une fermeture. De nombreux programmeurs de créer des fermetures sans s'en rendre compte en définissant une fonction anonyme dans une fonction. Les fermetures sont utiles lorsque vous souhaitez passer des variables aux gestionnaires d'événements ou de fonctions callback AJAX et d'émuler des variables privées et des méthodes dans les objets JavaScript . Faites preuve de prudence lors de la création fermetures , cependant, car ils peuvent provoquer des fuites de mémoire dans Microsoft Internet Explorer. Comprendre les fermetures

    JavaScript et la plupart des autres langages de programmation , les variables locales d'une fonction sont détruits après la fin de la fonction. Toutefois, lorsque vous créez une fonction dans une autre fonction en JavaScript, les variables locales de la fonction externe sont conservés même après qu'il se termine parce que les variables peuvent être référencées par la fonction interne . L'exemple ci-dessous contient une fonction " lauréat " qui crée une fermeture par une fonction anonyme , dont il retourne . Nous appelons cette fonction anonyme directement de l'extérieur , sans même passer par la fonction de parent :
    fonction lauréat

    (nom) {var gagnant = "Vous gagnez le prix ," + nom ; var annoncent = function () { alerte (vainqueur );} if ( Math.floor ( Math.random ( ) * 11 ) == 7 ) Retour annoncer ; return null ; }

    if ( var sayit = lauréat ( "Steve" ) ) sayit ();
    passer des paramètres à des gestionnaires d'événements

    Une utilisation de fermetures est de rendre variables disponibles aux gestionnaires d'événements . Prenons l'exemple suivant dans lequel une fermeture est créée par une fonction anonyme définie dans " SetHandler . " Les références à des fonctions anonymes un paramètre de " SetHandler . " Au point les feux de l'événement, même si " SetHandler " a fini , les valeurs de ses variables, y compris ses paramètres , à la conclusion de la fonction sont conservés pour la fonction anonyme . Une fermeture distincte est créée pour chaque itération dans la boucle.
    Fonction SetHandler

    ( porte, prix ) { door.addEventListener ( "click", function () {alert (" Prix de la porte " + porte + "est" + prix) ;} , false); }

    window.onload = function () { for (var i = 1; i <= 3; i + +) { SetHandler ( document.getElementById ( " porte " + i) , le prix [i]) ;}}
    passer des paramètres à AJAX fonctions de rappel

    similaires à l'exemple précédent , nous pouvons passer des paramètres à des fonctions callback AJAX avec des fermetures . Si vous effectuez un appel AJAX dans lequel la variable de requête est global, vous avez éliminé la possibilité de passer un paramètre à la fonction de rappel , car une seule demande globale est créée . En faisant la demande variable locale , vous pouvez créer une fermeture et donner l'accès à la fonction de rappel pour les données spécifiques à la demande . Dans l'exemple ci-dessous, nous créons une fermeture en définissant la fonction de rappel qui utilise une variable locale à sa fonction de parent. Un rappel distincte est créée pour chacun des 10 appels " de makeRequest "
    processus de fonction

    () {for . (Var i = 0; i < 10; i + +) { makeRequest ( i); }
    fonction makeRequest

    ( qui ) { var demande; var usethis = recherche ( qui ) ; if ( window.XMLHttpRequest ) { request = new XMLHttpRequest (); } else if ( window.ActiveXObject ) { request = new ActiveXObject ( " Microisoft.XMLHTTP ");} request.onreadystatechange = function () { parse ( usethis );} request.open (" GET ", url ) ; request.send ();}
    privé
    Variables et méthodes en JavaScript

    JavaScript, tous les membres d'un objet sont publiques , contrairement à d'autres langages orientés objet qui permettent de variables privées et les méthodes. Fermetures vous permettent d'émuler les méthodes et les variables privées en JavaScript. Dans l'exemple suivant, l'objet " secrets " est créé et exécuté sur la définition . Lorsqu'il est exécuté, il contient un objet anonyme avec deux méthodes : «spectacle» et «super », qui prend un paramètre . Tant le « secretCode " variable et la fonction " SuperSecret " ne sont accessibles que par les deux méthodes dans l'objet " secrets " . En effet , ils sont membres privés de

    var secrets = function () {var secretCode = (( (1 + Math.random ( )) * 0x100000 )

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour modifier une image de fond sur Rollover 
  • Comment changer Javascript mot de passe sur un ordinateur IBM Aptiva 
  • Comment écrire des scripts appels d'offres en Java 
  • Comment faire pour supprimer un espace à partir d'une variable en JavaScript 
  • Comment faire pivoter le texte avec JavaScript 
  • Comment faire pour vérifier pour VAR vide en Javascript 
  • Comment apprendre Java Script pour Free 
  • Comment activer le contrôle du serveur en utilisant JavaScript 
  • Comment utiliser JavaScript afin de mettre à jour un titre de page 
  • Comment vérifier si une propriété d' objet existe dans JavaScript 
  • Connaissances Informatiques © http://www.ordinateur.cc