Javascript Caller Fonksiyonu
Fonksiyonların nasıl çağrıldığını anlamak için, alt özellikleri olan "caller" kontrol edilir, eğer herhangi bir fonksiyon içinde çağrılmadıysa, "null"
değerini döndürür.Bu özellik "fonksiyonAdı.caller" biçiminde kullanılır:
>>> var merhaba = function(){return merhaba.caller;}>>> merhaba()null>>> (function(){ return merhaba() })()(function(){ return merhaba() })()
Örnekte, "merhaba" adında, kendisini çağıran fonksiyonu döndüren bir fonksiyon oluşturduk.Global blokta çağırdığımız satırda "null" değer
dönerken, diğerinde fonksiyonun kendisi döndü.
Örnek olarak, yazdığımız fonksiyonun başka bir fonksiyon içinden çağrılmasını engelleyebiliriz;
>>> var merhaba = function(){if(merhaba.caller!=null)return "Bu fonksiyona başka bir fonksiyonun içinden erişemezsiniz."return "Merhaba!"
Dizi konusu gibi, ileride detaylıca inceleyeceğimiz konulardan biri de koşullar.Yukarıdaki örneğin ilk iki satırında, "merhaba.caller" değerini kontrol
ettik ve eğer "null" değilse, yani bir başka fonksiyonun içinden çağrı yapıldıysa, "Merhaba" yerine uyarı metni döndürdük."return" komutu verildikten
sonra yorumcunun fonksiyondan çıktığını hatırlayalım.
Bir sonraki yazı: Internet Explorer ve eval() İstisnası ...
Hiç yorum yok:
Yorum Gönder