JavaScript değişken kapsamı

alattin (16999) 10 yıl önce sordu

JavaScript'te değişkenlerin kapsamı nedir? Javascript'te değişkeni metod içinde veya metod dışında tanımlamanın bir farkı var mı? Javascript'te global olarak bir değişken nasıl tanımlanır?

Toplam 1 cevap


alattin (16999) 10 yıl önce cevapladı

Javascript ile değişken tanımlarken, diğer dillerde olduğu gibi değişkenlerinde bir kapsamı vardır. Metod içinde tanımlama veya metod dışında tanımlanan değişkenler aynı kapsama sahip değillerdir. Aşağıda Javascript ile farklı kapsamlarda değişken tanımlama  örneklerini bulabilirsiniz.

// global değişken tanımlama
var uzmanim=13;
//Global tanımlı değişkene metod içerisinden erişme
function Bir(){
    alert(uzmanim); 
}

// Yerel kapsamlı değişken
function Iki(uzmanim){
    alert(uzmanim);
}

// Başka bir yerel kapsam
function Uc(){
  var uzmanim = 13;
  alert(uzmanim);
}

// blok kapsam, eğer global ve yerel olarak olarak aynı ad ile değişken 
// tanımlanırsa neler olur?
function Dort(){
    if(true){
        var uzmanim=5;
    }

    alert(uzmanim); // koşul true ise  '5', değilse global değer '13'
}


// Obje özelliği tanımlama
function Bes(){
    this.uzmanim = 50;
}


// Kapatma
var Alti = function(){
    var sayi = 6;
    return function(){
        // javascript "kapatma"'nın anlamı "sayi"'ya burada erişebilirim, 
        // Çünkü değişken metodun içerisinde tanımlandı.
        alert(sayi);
    }
}()

Yukarıdaki örneklerda farklı kapsamlarda, global ve yerel olarak javascript ile nasıl değişken tanımlanır göstermektedir.