| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> JavaScript Programación >> Content
    ¿Qué son los cierres Bueno en JavaScript
    ¿ Cuando se crea un cierre en JavaScript, puede hacer referencia a las variables locales de una función , incluso después de la función ha terminado, con los valores que tenían al final de la función. Cuando se utiliza una función dentro de otra función , utilice " eval " dentro de otra función o definir una variable dentro de una función sin "var ", se crea un cierre. Muchos programadores crean cierres sin darse cuenta al definir una función anónima dentro de una función . Los cierres son útiles cuando se quiere pasar variables a controladores de eventos o funciones de devolución de llamada de AJAX y emular las variables y métodos privados en objetos JavaScript . Tenga cuidado al crear el cierre , sin embargo , debido a que pueden causar pérdidas de memoria en Microsoft Internet Explorer. Entender Cierres

    JavaScript y la mayoría de otros lenguajes de programación , las variables locales de una función se destruyen después de que termine la función . Sin embargo , cuando se crea una función dentro de otra función en JavaScript, las variables locales de la función externa se conservan incluso después de que se termina porque las variables pueden hacer referencia a la función interna . El ejemplo siguiente contiene una función de " ganador " que crea un cierre a través de una función anónima , que vuelve . A eso le llamamos función anónima directamente desde el exterior sin tener que ir a través de la función principal :

    ganador función ( nombre) { var ganador = " Usted gana el premio" + nombre ; var anunciar = function ( ) { alerta ( ganador) ;} if ( Math.floor ( Math.random () * 11 ) == 7 ) volver anunciar ; return null ;}

    if ( var = sayit ganador ( "Steve ") ) sayit ();
    pasar parámetros a controladores de eventos

    Uno de los usos de los cierres es hacer que las variables disponibles para los controladores de eventos . Consideremos el siguiente ejemplo en el que el cierre se crea una función anónima se define en " SetHandler . " Las referencias a funciones anónimas un parámetro de " SetHandler . " En el momento se activa el evento , a pesar de que " SetHandler " ha terminado , los valores de sus variables , incluyendo sus parámetros , en la conclusión de la función se conservan para la función anónima . Un cierre por separado se crea para cada iteración del bucle.

    SetHandler función ( puerta, premio) { door.addEventListener ( "click " , function () { alert (" Premio a la puerta " + puerta + "es" + premio) ;} , false) ;}

    window.onload = function () {for (var i = 1 ; i < = 3 , i + + ) { SetHandler ( document.getElementById ( " puerta " + i ) , el premio [ i]) ;} }
    pasar parámetros a funciones de devolución de llamada AJAX

    similares al ejemplo anterior , podemos pasar parámetros a funciones de devolución de llamada de AJAX con cierres. Si realiza una llamada de AJAX en el que la variable de petición es global , se ha eliminado la posibilidad de pasar un parámetro a la función de devolución de llamada porque se crea una única solicitud global. Al hacer la solicitud variable local , puede crear un cierre y dar el acceso a la función de devolución de llamada de datos de solicitud específicos . En el siguiente ejemplo , se crea un cierre por definir la función de devolución de llamada que utiliza una variable local a su función principal. Un callback separado se crea para cada una de las 10 llamadas " makeRequest "
    proceso

    función () {for . (Var i = 0 ; i < 10 ; i + + ) { makeRequest ( i ) ;}

    makeRequest función (que ) { var solicitud; usethis var = lookup (que ), si ( window.XMLHttpRequest ) { request = new XMLHttpRequest (); } else if ( window.ActiveXObject ) { request = new ActiveXObject ( " Microisoft.XMLHTTP " ) = function ( ) { parse ( usethis ) } request.onreadystatechange ;} request.open (" GET " , url ) ; request.send () ;}
    privado Variables y Métodos en JavaScript

    JavaScript , todos los miembros de un objeto son públicas, a diferencia de otros lenguajes orientados a objetos que permiten a las variables y métodos privados . Cierres le permiten emular los métodos privados y variables en JavaScript . En el siguiente ejemplo, el objeto " secretos " se ha creado y ejecutado sobre la definición . Cuando se ejecuta, que contiene un objeto anónimo con dos métodos: "show" y "super ", que toma un parámetro . Tanto el " secretCode " variable y la función " supersecreto " Sólo se puede acceder a través de los dos métodos en el objeto " secretos " . En efecto , son miembros privados de

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

    Previous :

    next :
      Artículos relacionados
    ·Cómo hacer Blink Texto con JavaScript 
    ·JavaScript Función Redondeo 
    ·Cómo girar texto de Licenciado en JavaScript 
    ·Cómo escribir una Div. De JavaScript 
    ·Cómo configurar la página Imprimir Límite en JavaScr…
    ·Cómo cambiar el marcador en un API de Google Maps 
    ·Cómo código utilizando el Editor de secuencias de com…
    ·Cómo realizar el seguimiento con la escritura de Java …
    ·¿Por qué es Guión ralentizando mi PC de Down 
    ·Cómo acceder al acelerómetro Via Javascript en Androi…
      Artículos destacados
    ·Tutorial sobre MySQL Lock 
    ·Aplicación Estrategias de Desarrollo Prototipos 
    ·Entendimiento ActiveX y OLE 
    ·Cómo conectar los parámetros en un Crystal Report JSP…
    ·Cómo calcular los días entre 2 fechas en Java 
    ·Tutorial para la API de la cámara Phonegap 
    ·PHP convertir a UTF - 8 
    ·Cómo distinguir entre el proceso de entrada y salida R…
    ·Listo pero con errores en IE JS objeto esperado 
    ·Cómo leer Imprimir Eval en PHP 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com