Kapsam (scope) JavaScript değişkenlerinin ve fonksiyonlarının nerede erişilebilir olduklarını ifade eder.
Kapsamı, sınır gibi düşünebilirsiniz. Bir değişken tanımladığınızda kodunuzun her yerinden veya sadece belirli bir kod bloguğunun içinden bu değişkene erişebilirsiniz.
Bu değişken veya fonksiyona nerelerden erişilebilir, nerelerden kullanılabilir bunu siz belirlersiniz. İşte bu sınır kapsam olarak ifade edilir.
İki tür kapsam vardır: Yerel kapsam ve Global Kapsam
Bir JavaScript fonksiyonu içinde değişken tanımlıyorsanız bunun kapsamı yerel olur.
Bir fonksiyon içinde tanımlanan değişken yerel değişken olarak adlandırılır
Yani bu değişkene sadece fonksiyonun içinden erişebilirsiniz. Fonksiyon dışından bu değişkene erişemezsiniz.
// Burada yerlan kodlar ad değişkenine erişemez.
function fonksiyonum() {
var ad = "Ali Veli";
// Bu satırlar arasında yeralan bir JavaScript kodu
// ad değişkenini kullanabilir.
}
Yerel değişkenler sadece tanımlı oldukları fonksiyon içinde tanınırlar.
Yerel değişkenler, fonksiyon çağrıldığında tanımlanırlar ve fonksiyonun çalışması bittiğinde silinirler.
Eğer bir değişken fonksiyon dışında tanımlanıyorsa bu Global kapsama sahiptir.
Fonksiyonların dışında tanımlanan değişken Global Değişken olarak adlandırılır.
Global Kapsamın anlamı, o sayfadaki tüm fonksiyonlar bu değişkene erişebilir ve kullanabilir demektir.
//Global değişken
var ad = "Ali Veli";
// Her iki fonksiyonda ad değişkenine erişebilir
// Onu kullanabilir.
function fonksiyon1(){
alert(ad);
}
function fonksiyon2(){
alert(ad);
}
Eğer bir değişkeni var
anahtar kelimesi ile tanımlamadan değer atarsanız, o değişken otomatik olarak global değişken olur.
Aşağıdaki örnekte ad
değişkeni hiç bir yerde var
anahtar kelimesi ile tanımlanmamıştır.
Global olarak tanımlanan değişkenler, JavaScript ortamında geçerlidir.
Fakat HTML tarafında tüm Global Değişkenler window
nesnesinin içinde tutulur.
Herhangi bir global değişkene window.degiskenAdi
şeklinde ulaşabilirsiniz.
window nesnesi ile ilgili detaylı bilgiler ilerleyen derslerde verilecektir.
Bir JavaScript değişkeninin ömrü, değişken tanımlandığında başlar.
Yerel değişkenlerin ömrü fonksiyon tamamlanana kadardır.
Global değişkenlerin ömrü HTML sayfası kapatılana, sayfa değiştirilene kadardır.