Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> JavaScript Programmering >> Content
    Hva er Nedlegging God for i JavaScript
    ? Når en nedleggelse er opprettet i JavaScript, kan du referere til lokale variabler til en funksjon , selv etter at funksjonen er avsluttet, med de verdiene de hadde ved utgangen av funksjonen. Når du bruker en funksjon inne i en annen funksjon , bruk " eval " inni en annen funksjon eller definere en variabel inne i en funksjon uten "var , " du oppretter en nedleggelse. Mange programmerere lage nedleggelser uten å vite det ved å definere en anonym funksjon i en funksjon. Nedleggelser er nyttig når du ønsker å passere variabler å hendelseshåndterere eller AJAX tilbakeringing funksjoner og å etterligne private variabler og metoder i JavaScript objekter . Vær forsiktig når du oppretter nedleggelser , men fordi de kan forårsake minnelekkasjer i Microsoft Internet Explorer . Forstå Nedlegging

    JavaScript og de fleste andre programmeringsspråk , er de lokale variabler av en funksjon ødelagt etter at funksjonen avsluttes. Men når du oppretter en funksjon inne i en annen funksjon i JavaScript, er de lokale variabler av den ytre funksjonen bevart selv etter at den opphører fordi variablene kan være referert til av den indre funksjonen . Eksempelet nedenfor inneholder en funksjon " prisvinner " som skaper en nedleggelse gjennom en anonym funksjon , som den returnerer . Vi kaller det anonym funksjon direkte fra utsiden uten å gå gjennom den overordnede funksjon : en

    funksjon prisvinner ( navn) {var vinneren = " Du vinner premien , " + navn ; Var kunngjøre = function ( ) { alert ( vinner) ;} ; if ( Math.floor ( Math.random ( ) * 11 ) == 7 ) tilbake kunngjøre ; returnere null; }

    hvis (var LesOpp = prisvinner ( " Steve" ) ) LesOpp ();
    Passing Parametere til Begivenhet handlers

    En bruk av nedleggelser er å gjøre variabler tilgjengelig for hendelseshåndterere. Betrakt følgende eksempel der en nedleggelse er skapt av en anonym funksjon definert i " setHandler . " De anonyme funksjonen refererer til en parameter for « setHandler . " På det punktet hendelsen branner , selv om " setHandler " er ferdig , blir ikke verdiene av variablene , inkludert dens parametre , på funksjon konklusjon bevart for anonym funksjon . En egen nedleggelse er opprettet for hver iterasjon i loop .

    Funksjon setHandler (dør , premie ) { door.addEventListener ( "klikk" , function () { alert (" Prize for dør " + dør + "er" + premie ) ;} , false); }

    window.onload = function () { for (var i = 1; i < = 3; i + + ) { setHandler ( document.getElementById ( "dør " + i) , premie [ i] ); } }
    Passing Parametere til AJAX tilbakeringing funksjoner

    i likhet med det forrige eksemplet , vi kan sende parametre til AJAX tilbakeringing funksjoner med nedleggelser. Hvis du gjør en AJAX samtale der anmodningen variabelen er global , har du eliminert muligheten til å passere en parameter til tilbakekallsfunksjon fordi en enkelt global forespørsel er opprettet. Ved å gjøre forespørselen variable lokale, kan du opprette en nedleggelse og gi tilbakekallsfunksjon tilgang til forespørsel - spesifikke data . I eksempelet nedenfor , skaper vi en nedleggelse ved å definere tilbakeringing funksjon som bruker en variabel lokale til sin overordnede funksjon . En egen tilbakeringing er opprettet for hver av de 10 " makeRequest " samtaler

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

    funksjon makeRequest (som ) {var forespørsel, Div. useThis = oppslag (som ), hvis ( window.XMLHttpRequest ) { forespørsel = new XMLHttpRequest (); } else if ( window.ActiveXObject ) { forespørsel = new ActiveXObject ( " Microisoft.XMLHTTP "); } request.onreadystatechange = function () { parse ( useThis ) ;} request.open ( " GET ", url ) ; request.send (); }
    Privat variabler og metoder i JavaScript

    JavaScript, alle medlemmer av et objekt er offentlige, i motsetning til enkelte andre objektorienterte språk som gjør det mulig for private variabler og metoder. Nedleggelser tillate deg å etterligne private metoder og variabler i JavaScript. I følgende eksempel objektet " hemmeligheter " er opprettet og henrettet ved definisjon. Når henrettet , den inneholder en anonym objekt med to metoder: "show" og " super ", som tar en parameter. Både variabelen " secretCode " og funksjonen " Superhemmelige " kan bare nås gjennom de to metodene i " hemmeligheter " objekt . I praksis er de private medlemmer av

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

    früher :

     Weiter:
      Relatert Artike
    ·Java Script Kontroll av Form Text Input for spesialtegn…
    ·Hvor å Endre Form Feltverdi Med JavaScript 
    ·Hvordan Roter Tekst av Degree i JavaScript 
    ·Hvordan Rull ned i JavaScript 
    ·Hvordan kontrollere Marginene i en JavaScript 
    ·Slik konverterer ColdFusion Objekter å JSON 
    ·Hvordan endre skrifttype farger med Javascript 
    ·Hvordan navigere fra jQuery Modal Vindu til en annen si…
    ·Hvordan lage et passord for et nettsted 
    ·Slik importerer VMWare Disk Into VirtualBox 
      Anbefalte artikler
    ·Hvordan legge bilder i Java bruker NetBeans 
    ·Definisjon av COBOL Comp - 3 
    ·Hvordan å erklære en statisk variabel i C 
    ·Hvordan bruke ActionListener i Java 
    ·Lær Java Online 
    ·Slik konverterer Long til heltall i Visual Basic 
    ·Hvordan legge til innledende mellomrom i Python 
    ·Hva er en Constructor metode i Java 
    ·Hvordan legge til farge til en batch fil 
    ·Hvordan øke hastigheten på PHP Curl 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/