Heim > Web-Frontend > js-Tutorial > Vertieftes Verständnis der Bereichsschließung von Variablen in JavaScript_Javascript-Kenntnissen

Vertieftes Verständnis der Bereichsschließung von Variablen in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:48:32
Original
1140 Leute haben es durchsucht
Code kopieren Der Code lautet wie folgt:


;

Titel hier einfügen >
/*
* 1. Alle Variablen in js sind öffentlich
2. Es gibt keine statischen Variablen in js
3. Abschluss: Variablen außerhalb der Funktion können von innerhalb der Funktion aufgerufen werden ; umgekehrt, nicht
*/

var r=10;
function test1(){
var r2="abc">//alert(r)
}
//alert(r2);//r2 innerhalb der unzugänglichen Funktion
test1();
//Es ist auch in verschachtelten Funktionen in Ordnung
function test2(num1){
function test3 (num2,num3){
return num2 num3 num1;
}
return test3(10,20)
}
//alert(test2(30)); // ----------Schließung in Schleife------
function testfun(){
var r= 1;
var arr=[];
for(var x=0;x<3;x ){
r ; ;
}
}
return arr;
}
alert("testfun:" testfun()); :" arr2[0]);
alert("arr:" arr2[1]());
alert("arr:" arr2[2]());
//= == =======Die Ergebnisse der oben genannten drei Popup-Felder sind alle 4==========
/*Analyse der Gründe:
Verstehen Sie, welche Funktionen in JavaScript sind?
Eine Funktion ist ein ausführbarer Codeblock. Eine Funktion kann beispielsweise auch durch eine Variable dargestellt werden. Die zweite Möglichkeit, eine Funktion zu definieren, ist
var add=new Function("a",return a 10 "); das zugrunde liegende Wesentliche ist, dass dieser Funktionsname auf
diesen ausführbaren Code verweist, der für die Variable erstellt wurde.
* Zuerst speichern arr[0], arr[1] und arr[] nach der Ausführung der testfun-Funktion alle den gleichen
ausführbaren Codeblock function(){
return r
} Das heißt, die oben genannten drei sind nur Funktionsvariablen, um sie auszuführen (). 0](), es ist äquivalent. Der Code in diesem Codeblock wird ausgeführt.
Das Endergebnis ist also return r, was natürlich 4 zurückgibt.
*/




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