Matti Mäkitalo: Javascript check :)

Beitrag lesen

Hi,

In anderen Sprachen (Java z.B.) gibt es durchaus weitere Gründe für solche Blöcke:
da begrenzt der Block die Lebensdauer der darin deklarierten/definierten Variablen.

Weitergehend am Beispiel Perl: man kann Variablenwerte in solchen Blöcken lokalisieren:

$var = 0;  
{  
  print $var; # gibt 0 aus  
  local $var = 1;  
  print $var; # gibt 1 aus  
}  
print $var; # gibt 0 aus  

Auch kann man mit "last" aus einem solchen Block herausspringen, folgender Code macht also nichts:

{  
	last;  
	print 1;  
}

Das fiele mir so auf Anhieb ein, nichts davon benutzt man wirklich regelmäßig. Ersteres wäre ganz praktisch, um kurzzeitig Variablen zu ändern und sich sicher zu sein, dass die Änderungen lokal bleiben. Allerdings funktioniert es nicht mit lexikalischen Variablen (das sind die mit "my" deklarierten), weswegen es bei mir meistens durch Benutzung des strict-Pragmas hinfällig wird.
Bis die Tage,
Matti