Çıktı mı görmek istiyorsunuz?
Eleman No. 1: 17
Ve de kaynağı:
Dün küçük bir oyun yazdım ve ileride sizin de karşılaşabileceğiniz bir
problemle karşılaştım. Netscape'deki dökümanlara göre, eğer bir frame'i ya
da pencereyi temizlemek isterseniz 'document.clear()' diye hazır bir
fonksiyon var. Ancak bu fonksiyonun çalışmadığını gördüm. Gordon McComb
aşağıdaki script'i önerdi ve ben de istediğimi elde ettim:
Mutlaka document.write("<P>"); yazmanız gerekmiyor. Herhengi
birşey yazmanız yeterli.
Şimdi değişik dökümanlar arasında sörf yapmanıza yarayacak bir script'e
göz atalım. Aslında bahsetmek istediğim alıcınızdaki 'back' ve 'forward'
tuşlarının görevini yapan bir script. Örneğin sayfamda normal link gibi
yazılmış ve 'Geri Dönüş' işlemini görmesi için koyduğum bazı linkler
vardı. Ancak başka bir yerden bağlanan birisi için bu link hiç de geri
göndermiyordu. Ancak bu link'i takip ederseniz
alıcınızın üstündeki 'Back' 'Forward' tuşlarının işlevinin normal form
gönderme tuşları ile yapıldığını göreceksiniz. Nasıl mı yaptım? İşte
kaynağı:
Önemli bir programlama tekniği de dizilerin kullanımıdır. Birçok
programlama dilinde bu standarttır. Şu anda dizi kullanacak seviyeye
gelmiş olabilirsiniz. Ancak Netscape'in dökümanlarına baktığınızda
dizilerle ilgili hiçbir şey söylenmediğini göreceksiniz. Asıl problem
JavaScript'te dizilerin bulunmaması! Ama ben size bir iyilik düşüneceğim!
Öncelikle dizler nedir? Dizilerin birbirine bağlı bir sürü değişken
olduğunu söyleyebiliriz. Örneğin 10 tane değişken istiyorsunuz. a, b, c
... diye isim vermeye başlayabilirsiniz. Biraz karışık olur değil mi? Peki
ya 100 ya da daha fazla değişkene ihtiyacınız olursa? Eğer 'BenimDizi'
diye bir diziniz olursa değişik elemanları BenimDizi[1], BenimDizi[2],
BenimDizi[3] diye adlandırabilirsiniz. (Birçok programlama dilinde '0' ile
başlanır fakat biz '1' veriyoruz. Daha sonra JavaScript'te bu şekilde
kullanacağız) Yani ilk değişkene '17' değerini verecekseniz
BenimDizi[1]=17 demeniz yeterli olacaktır. Gördüğünüz gibi
dizilerle normal değişkenlerle çalıştığınız gibi çalışabilirsiniz ancak
dizilerin bazı özellikleri de vardır. Örneğin '11' tane değişkeniniz var
ve hapsine de '17' değerini atamak istiyorsunuz:
for (var i=1;i < 11;i++) BenimDizi[i]=17
yazabilirsiniz.
'for-' komutu bilgisayara komutun ne sıklıkla yapılacağını anlatır. 'for-'
döngüsü i=1 ile başlıyor. Önce bilgisayar BenimDizi[1] değişkenine 17
depğerini atıyor. Daha sonra 'i' 1 artıyor ve BenimDizi[2] değişkenine de
17 değeri atanıyor ve 'i' 10 değerine ulaşana kadar bu böyle sürüyor.
(Yani komutu okursak i=1 'den 11'den küçük oluncaya kadar i'yi arttır.
'i' her değer aldığında for- komutundan sonraki işlem yapılır.)
Şimdi size diziler ile ilgili bir fonksiyon vermek istiyorum:
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i]
}
Bu fonksiyonu anlamanıza gerek yok. Bilmeniz gereken bu fonksiyonun
kullanımıdır. Eğer üç elemanlı bir dizi yaratacaksanız var MyArray= new
initArray(17,18,19) yazmanız yeterli. 17,18,19 değerleri 1,2,3
elemanlarına atanır. Dizilerinize kelime katarları da yazabilirsiniz.
İki tip arasında hiçbir fark yoktur!
var heyho= new initArray("Güzel","birşey","bu!").
Değişik tipkeri de karışık kullanabilirsiniz:var Karisik= new
initArray(17,"hey",103).
Eleman No. 2: hey
Eleman No. 3: 103
<script language="JavaScript">
<!-- Hide
var Mixedup= new initArray(17,"yo",103);
document.write("Element No. 1: "+Mixedup[1]+"<br>");
document.write("Element No. 2: "+Mixedup[2]+"<br>");
document.write("Element No. 3: "+Mixedup[3]+"<br>");
// -->
</script>
document.close();
document.open();
document.write("<P>");
<html>
<body>
<FORM NAME="buttonbar">
<INPUT TYPE="button" VALUE="Geri" onClick="history.back()">
<INPUT TYPE="button" VALUE="JS'ye Giriş" onClick="location='script.html'">
<INPUT TYPE="button" VALUE="İleri" onCLick="history.forward()">
</FORM>
</body>
</html>
Ya da history.go(-1) ve history.go(1) de yazabilirsiniz.
11.Mayıs'96
© 1996 Stefan Koch