javascript dersleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
javascript dersleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

9 Ağustos 2012 Perşembe

Disaridan Erisime Kapali Özellikler

Disaridan Erisime Kapali Özellikler

C Tabanli programlama dillerindeki class yapilarinda, methodlarin disarindan erisime açik olup olmadigi belirtilebilir.ECMAScript'in yeni sürümündeki class yapilari da public/private alt method ve degerleri destekler.
Su an kullandigimiz sürümde de public/private özellikler olusturulabiliyor, bunun için fonksiyon bloklarinin etki alanlarindan faydalanilir;
>>> function test(){
var _deger = "merhaba dünya!"; this.degeriGetir = function(){ return _deger;
}
}
Yukaridaki örnekte test adinda bir fonksiyon olusturduk ve biri disaridan erisime kapali, iki deger olusturduk.
>>>test1 = new test();
>>>test1._deger undefined
>>>test1.degeriGetir() "merhaba dünya!"
...

 Bir sonraki yazı Apply

28 Temmuz 2012 Cumartesi

Fonksiyon Parantez Blokları


Fonksiyon tipindeki verilerin çalışmasını incelediğimiz örneklerde parantezlerin sağladığını görüyoruz.Parantezler işlevsel olarak pek çok konuda
fayda sağlasa da, pek çok zaman yazılan kodun daha anlaşılır olması için blok oluşturmada kullanılır.Önce ne gibi işlevlerde kullandığımıza
gözatalım.Birinci örnek matematiksel işlemlerde gruplama yaparken kullanılan parantezler üzerine:
>>> 1+2*3
7
>>> (1+2)*3
9
 İkinci örnek, sayısal değerlerin ondalık kısmıyla methodların karışması problemine parantez çözümü:
>>> 1.toString()
missing ; before statement
[Break on this error] 1.toString()
javascript: with ... (line 1)
>>> 1.0.toString()
"1"
>>> (1).toString()
"1"
Gelelim üçüncü örneğe.Ecmascript'te her fonksiyon bloğu parantezler içine alınabilir.Ve elbette, parantez içine alınmış kod bloğuna çalıştırma
komutu gönderilebilir.Bu yöntem daha sade ve temiz görünen kodlar yazmayı sağlar, çünkü fonksiyonu yazdıktan sonra tanıtıcıyı çağırmaya gerek
duyulmaz.

Klasik yöntemle yazılan bir fonksiyonun çağırma işlemiyle, parantez bloğunun kodlarını karşılaştıralım:
>>> var merhaba = function(){
return "Merhaba"
}
>>> merhaba();
Merhaba
>>> (var merhaba = function(){
alert("Merhaba");
})();
"Merhaba"
İlk örnekte fonksiyonu tanımladık ve ardından tanıtıcısını kullanarak çalıştırdık, ikinci örnekteyse fonksiyonu parantez bloklarının içine alıp
çalıştırdığımız için, tanıtıcıyla çağırma yaptığımız satıra gerek kalmadı.Tahmin edeceğiniz üzere, aslında parantez bloklarını kullanırken tanıtıcı
kullanılmayabilir:
>>> (function(){
alert("Merhaba");
})();
"Merhaba"

...

 Bir sonraki konu Argümanlar