JavaScript scope yani blok kapsamı değişkenlerin erişilebilirliğini (görünürlüğünü) belirler. JavaScript’te iki tür kapsam vardır. Bunlar:
- Yerel Kapsam
- Global Kapsam
Yerel JavaScript Değişkenleri
Bir fonksiyonun içerisinde tanımlanan değişkene yerel değişken diyoruz. Yerel değişkenlere fonksiyon dışından erişilemez. Yani yerel değişkenler sadece tanımlandıkları fonksiyon içerisinde kullanılabilirler.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> // araba değişkenine buradan erişilemez function myFunction() { var araba = "Audi"; // araba değişkenine sadece bu fonksiyon içerisinden erişebiliriz } </script> |
Bir fonksiyon çalıştırıldığında yerel değişkenler oluşturulur ve fonksiyonun çalışması durduğunda yerel değişkenler silinir.
Yerel değişkenlere yanlızca tanımlandığı fonksiyon içerisinden erişebildiğimiz için farklı bir fonksiyon içerisinde aynı isme sahip değişkenleri kullanabiliriz.
Global JavaScript Değişkenleri
Bir fonksiyonun dışında tanımlanan değişkene global değişken diyoruz. Global değişkenlere bir web sayfasındaki tüm komut dosyaları ve fonksiyonlar erişebilir.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> var araba = "Audi"; // araba değişkenine buradan erişebiliriz function myFunction() { // araba değişkenine buradan da erişebiliriz } </script> |
⇒ Bildirilmeyen bir değişkene değer atarsanız, bu değişken otomatik olarak global bir değişken olur.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<script> // araba değişkenine buradan erişebiliriz function myFunction() { araba = "Audi"; } </script> |
Yukarıdaki örneğimizde araba değişkenini fonksiyon içerisinde tanımladığımız halde fonksiyon dışından da erişebiliriz. Çünkü değişkeni bildirmedik. Yani şu şekilde yazmadığımız için global bir değişken oldu.
⇒ var araba = “Audi”;
⇒ JavaScript değişkenlerinin ömrü ilk tanımlandıklarında başlar. Yerel değişkenlerde tanımlandıkları fonksiyon tamamlandığında yerel değişkenler de silinir. Genel değişkenler de ise bir web tarayıcısında, tarayıcı penceresini veya sekmesini kapattığınızda genel değişkenler silinir.
Son olarak şunu söylemek istiyorum. Kodlarınızı yazarken mümkün olduğu kadar global değişken kullanmamaya özen gösterin. Çünkü, window nesnesi de dahil olmak üzere herhangi bir fonksiyon global değişkenlerinizin üzerine yazabilir.
Umarım sizin için faydalı bir yazı olmuştur.
Şu yazılar da ilginizi çekebilir.
JavaScript Kodları Nereye Yazılır? (Harici, Dahili, Satır İçi)
Yeni bir yazımda görüşmek üzere.