Değişkenleri öğrendiğimize göre şimdi değişkenin ulaşılabildiği yerleri öğrenelim. Bu konu çok önemli ve dikkat edlimesi gereken bir konudur.
Değişken Kapsamı
Değişken kapsamı değişkenlere ulaşılabilen yerlerdir. "{" ve "}" arasındda kalan yerlere blok denir ve bloklar bir kapsam tanımlamaktadırlar. Değişken kapsamı genel (Global) ve yerel (local) olmak üzere 2'ye ayrılır.
Global Değişken
Fonksiyonda kullanmamak şartıyla direk script etiketleri arasına konulan ve tanımlanan değişkenler genel (Global) değişkenlerdir. Önceden bildiğimiz gibi tarayıcı onu okumadan aktif hale gelmez. Yani onu tanımaz.
Global Değişken'e Örnek:
<html>
<head>
<script>
var global = 5;
function fun() {
//global değişkeni etkin
}
//global değişkeni etkin
</script>
<body>
<script>
//global değişkeni etkin
function fun2() {
//global değişkeni etkin
}
</script>
</body>
</html>
Local Değişken
Belirli bir yerde, fonksiyonda kullanılırsan fonksiyonda etkin olur. Örnek verirsek iyi anlarız. Global ile local'ı birleştirelim.
Local Değişken'e Örnek:
<html>
<head>
<script>
function fun() {
var local = 5;
global = 5;
//Burada local "var ile tanımlanmış.
//Fakat global tek olarak tanımlanmış.
}
//İkiside etkin değil
fun2 ();
//Fonksiyon etkinleştirildi
//Şimdi global tam global oldu.
}
//global değişkeni etkin
</script>
<body>
<script>
//global değişkeni etkin
function fun2() {
//global değişkeni etkin
}
</script>
</body>
</html>
Fonksiyonda "var" anahtarı ile kullanılan değişken local değişkendir. "var"sız kullanılan (tanımlanan) değişkenler yarı global olup sadece fonksiyon etkinleştirilince tam global olurlar. Yani burada da global isimli değişken fonksiyon etkin olunca tam global oldu.
Genel Örnek:
<html>
<head>
<script>
var a = 5;
function fun() {
var a = 10;
var a = 15;
document.write("local a değişkeni:" + a);
}
fun ();
document.write("global a değişkeni" + a);
</script>
<body>
</body>
</html>
Burada document nesnesinin write özelliğini kullandık ve yazı yazmaya yaradığını öğrendik. Peki burada ne var. Burada 1 kere global sonra 2 kere fonksiyon içinde local olarak tanımlanan aynı isimli değişkenleri görüyorsunuz. Bu durumda en son yazılan değişken geçerli olur. Sonra "local a değişkeni: 15" yazısını yazdık. Bu değişken şuan local. Sonra fonksiyonu etkin edip "global a değişkeni: 15" dedik. Yani şimdi değişken kullanılırken global oldu. Burada anlatmak istediğim bir değişkeni aynı anda hem global hem de local olarak kullanabiliriz.
Bu derslik bukadar ve zor bir okadar da önemli olan bu konu her programcı için işi zorlaştırıyor. Bir sonraki derste yine önemli ve zor bir okadar da kafa karıştırıcı olan konuyu anlatmaya çaışacağız. Kolay Gelsin.
Şimdi de. Dersi Bekliyorum. Ya Süper Anlatıyorsun... Bayıldım (h) (o)
YanıtlaSil