Heim > Web-Frontend > js-Tutorial > Hauptteil

Erlernen Sie ganz einfach Javascript-Schließungsfunktionen_Javascript-Tipps

WBOY
Freigeben: 2016-05-16 15:25:40
Original
909 Leute haben es durchsucht

Was ist eine Abschlussfunktion?Wenn man anfängt, Abschlüsse zu lernen, ist sie wahrscheinlich für jeden schwer zu verstehen. Nach der offiziellen Erklärung zu urteilen, ist sie relativ konzeptionell.

Aber wir gehen immer noch von der Bedeutung der Schließung aus.
Abschluss bedeutet, dass eine Funktion freie und unabhängige Variablen hat. Mit anderen Worten: Eine in einem Abschluss definierte Funktion kann sich an die Umgebung „erinnern“, in der sie erstellt wurde.
Schauen wir uns nach der offiziellen Erklärung zunächst ein einfaches Zählbeispiel an.

var c = 0;
function count(){
c++;
}
count();// 1
count();// 2
Nach dem Login kopieren

Dieses Beispiel wird mit globalen Variablen implementiert, aber es gibt ein Problem, das auch von anderen Methoden aufgerufen werden kann. Zu diesem Zeitpunkt kann der gespeicherte Wert von c geändert werden, wodurch die Anzahl ungültig wird Wie wir dieses Problem gut lösen können, ist die Verwendung lokaler Variablen, zum Beispiel:

function count(){
 var c = 0;
 function add(){
  c++;
 }
 add();
}
count();// c = 1
count();// c = 1
Nach dem Login kopieren

Da die internen Variablen nach der Erstellung und Ausführung nur dann vorhanden sind, wird die gesamte Funktion verworfen. Wie kann dies dann erreicht werden? Wir werden Schließungen verwenden, um es zu lösen. Ich möchte es noch einmal erwähnen: Schließung = Funktionsumgebung

function count(){
  var c = 0;
  function add(){
   c++;
  }
  return add;
}
var ct = count();
ct(); // c = 1
ct(); // c = 2
Nach dem Login kopieren

Zu diesem Zeitpunkt können wir diese Schließung verwenden, um die Zählfunktion zu vervollständigen, und die interne Umgebung ist die lokale Variable c. Was wir hier erreichen, sind externe Daten der Verschluss Welche weiteren Funktionen hat das?

Verwenden Sie Abschlüsse, um private Methoden zu simulieren
Dies ist ein bisschen wie die privaten Methoden oder privaten Variablen von JAVA, die nur von Ihnen selbst bedient werden können!

var person = (function(){
  var _name = "编程的人";
  var age = 20;
  return {
   add:function(){
     age++;
   },
   jian:function(){
     age--;
   },
   getAge:function() {
     return age;
   },
   getName:function(){
     return _name;
   },
   setName: function (name) {
     _name = name;        
   }
  }
})();
person.add();
var age = person.getAge();
console.log(age)
person.setName("编程的人公众号:bianchengderen")
console.log(person.getName())
Nach dem Login kopieren
Es sollte hier leicht zu verstehen sein! Es fühlt sich ein bisschen wie objektorientierte Programmierung an. Natürlich verfügt auch Javascript über die Eigenschaften der objektorientierten Programmierung. Wir werden dies später erklären Bisher haben wir Beispiele von der Zählung bis zur internen Privatisierung verwendet, um Schließungen zu veranschaulichen. Ich hoffe, dass jeder das Prinzip leicht verstehen kann. Natürlich haben Schließungen andere Funktionen, die bequemer zu verwenden sind.


Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für alle beim Erlernen der Javascript-Programmierung hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!