2016-09-11 3 views
1

In folgenden Code (Node.js), druckt er 1 2Life of Variable in Javascript Closure

function count(){ 
     var counter = 0 
     function inc(){ 
      counter++ 
      console.log(counter); 
     } 

     return inc 
    } 
    var x = count(); 
    x() 
    x() 

Heißt das bedeutet, dass variable counter zu inc() wegen Schließung zur Verfügung stehen wird Laufzeit des Programms leben?

+0

Mögliche Duplikate von [Wie funktionieren JavaScript-Verschlüsse?] (Http://stackoverflow.com/questions/111102/how-do-javascript-closures-work) – Li357

+0

Kurz gesagt, ja wird es sein. Es wird verfügbar sein, solange x verfügbar ist. –

+0

@MikeS. Danke, vielleicht könntest du das als Antwort schreiben, damit ich es annehmen kann. –

Antwort

0

Ja wird es sein. Es wird verfügbar sein, solange x verfügbar ist.

+1

Nun, die Frage war "wird das Leben des Programms leben". Die richtige Antwort ist eigentlich "Nein, es wird solange verfügbar sein, wie' x' verfügbar ist ", was eine andere Sache ist. –

Verwandte Themen