Bu sayfadaki yazılar
Sayfanın metni
Sayfa 88
tasiyici.appendChild(textbox); tasiyici.appendChild(button); </script> </body> </html>
Burada "tasiyici" isimli bir "div"imiz var. HTML içerisinde başka da bir şey yok. Biz script alanında dinamik olarak bir textbox bir de button tanımlıyoruz (ikisi de input elementinin türevleridir). Daha sonra button'a Firefox'da addEventListener, Internet Explorer'da attachEvent komutlarıyla click event'ini "goster" fonksiyonuna yönlendiriyoruz. Aslında burada kısaca "goster" yazabilirdik "function(){ goster(textbox.value); }" yerine. Fakat bu durumda parametre veremezdik. Biz textbox'ın değerini de fonksiyona yollamak istediğimiz için "function() {}" ile o noktada dinamik bir fonksiyon yarattık ve "goster" fonksiyonunu textbox'ın içine yazılan değer ile (textbox.value) çağırdık.
Aslında input gibi form nesneleri bir form olmadan kullanılmaz. Ancak bu örnekte örneği daha da karmaşıklaştırmamak için form kullanmadım. Bazı eski browser'lar form tag'i olmadan form objelerini göstermezler bile. Günümüz browser'larının teknolojisine dayanarak bu örneği bu şekilde kullanmaktan çekinmedim.
3) C/C++'da argv, argc, va_arg bişiler yapıyorduk. Javascript'te fonksiyonların argüman sayılarını nasıl alabilirim?
Javascript argümanlar konusunda C'den daha esnek. Örneğin fonksiyona fonksiyonun tanımındaki argüman sayısından daha az veya daha fazla argüman verebilirsiniz ve Javascript hata çıkarmaz. İlginç bir şekilde fonksiyonun kaç argümanla çağırıldığı ve tanımında kaç argüman olduğu ayrı ayrı sayılabilir. Örnek:
<html> ... <script> function deneme(a,b,c,d,e,f,g){ var tanimlandigiArgumanSayisi = deneme.length; var cagirildigiArgumanSayisi = deneme.arguments.length; alert("Tanım: "+tanimlandigiArgumanSayisi+"\nÇağırılma: "+cagirildigiArgumanSayisi); } deneme(1,2,3); </script> ... </html>
Bu dosyanın sonucunda:
Tanım: 7
Çağırılma: 3
Yazacaktır. Yani 7 argümanlı bir fonksiyon tanımladık ancak 3 argüman ile çağırdık.
Bunlar düzensiz bir şekilde aklıma gelen ipuçlarıydı. Kategori ve sayı olarak artarak devam etmesi muhtemeldir.
Benimle irtibata geçmek isteyenler için e-mail adresim;
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 89
skate <at> glance <dot> ws (mailto:c64hydrogen@yahoo.com)
Emir Akaydın
Skate / Glance