HTML ile ilgili bölümü (umarım) okuduğuna göre (okumadıysanız Programlama bölümünden HTML başlığına bir göz gezdirin) size JavaScript'ten bahsetme zamanı geldi: 1995 yılında Netscape tarafından tanıtılan JavaScript, zamanla Microsoft'ın JScript'i ve ECMA'nın ECMAScript'i ile güncellenmiş, 2005 yılında 1.6 sürümüne ulaşmıştır. JavaScript, HTML içine gömülebilen bir programlama dilidir.

PROGRAMLAMA DİLİ NEDİR ?

Asıl önemli kısım şimdi bu: program nedir? Efendim bir program, birbirini ardına yerine getirilen bir emir dizisidir. Her emire "komut" denir ve emirleri yerine getiren cihaz da genelde bir bilgisayardır. Örneğin, JavaScript'te şöyle bir program yazabiliriz: window.alert("merhaba") ve o program, bir uyarın penceresinde merhaba diye bir uyarı çıkartır (denemek için o programın üzerine tıklayabilirsiniz). Bir programlama dili, program yazmaya yarayan bir dildir. JavaScript'te programınızdaki komutlar yazıldıkları sırada çalıştırılırlar (yani alert(1);alert(2) programı önce 1 sonra 2 diye uyarı verir)

PROGRAMLAMA TEMELLERİ

Genelde programlama dilleri birkaç elemandan oluşur:

Değişkenler (variable): değişken, bir programdaki bir değere verilen bir isimdir. Değişkenlere değer atamak için her dil başka bir yazı şekli kullanıyor olabilir, JavaScript bir değişkene değer atamak için = kullanır. Örneğin, JavaScript'te osman burada diye bir uyarıyı şu şekilde çıkartabiliriz (denemek için gene programın üzerine tıklayabilirsiniz): degisken1="osman";degisken2="burada";bosluk=" ";window.alert(degisken1+bosluk+degisken2). ÖNEMLİ: o = işareti matematiksel eşitliği temsil etmemektedir, zira i=i+1 gayet doğal bir komuttur ve i değişkenine i+1 değerini verir; matematikte ise i=i+1 imkansız bir eşitliktir. Tüm iyi programcılar, değişkenlerine mantıklı (yani ne içerdiğini belirten) isimler verirler.

Fonksiyonlar: fonksiyon, bir emir dizisine verilen bir isimdir. Örneğin, deminden beri kullandığım window.alert, bir JavaScript fonksiyonudur. JavaScript'te, function anahtar kelimesi kullanılarak fonksiyon yaratılabilir, örneğin function iki_ile_carp( sayi ){ return 2 * sayi } fonksiyonu verilen bir sayıyı iki ile çarpar ve geri gönderir. Fonksiyonlar, bir dizi komutu bir yerde saklamak ve programları anlamlı kılmak açısından önemlidir. Az önceki fonksiyonu çağırmak için ise, sayi degiskenine bir değer vermemiz gerekir, örneğin programımızda degisken = iki_ile_carp( 2 ) yazarsak o zaman degisken değişkenine 2 * 2, yani 4 değeri verilir. Bu işleme, fonksiyon çağırma denir. Programlama dillerinde, fonksiyonlar çağırılmadıkları sürece öyle yerlerinde dururlar.

KOŞULLAR VE TEKRARLAMALAR

Anlattığım kadarıyla, programlama dilinde hesap yapma, yaptığımız hesabı hatırlama ve bir komut dizisini hatırlamayı öğrendik. Bu kadarıyla bile bayağı bir şey yapabilmemize rağmen, hakiki programlar için iki şey daha bilmemiz gerekiyor:

Koşullar (conditionals): bir koşul, eğer bir şey doğru ise yerine getirilen bir komuttur. Örneğin, bugun_hangi_gun fonksiyonunun bize hangi günde olduğumuzu söylediğini varsayalım. if( bugun_hangi_gun() == "Çarşamba" ){ alert("bugün çarşamba") }else{ alert("bugün çarşamba değil" ) } programı çarşamba günleri çalıştırıldığında bugün çarşamba, diğer günler çalıştırıldığında ise bugün çarşamba değil diye bir uyarı verecektir.

Tekrarlamalar (loops): bir tekrarlama, adı üstünde, bir koşul yerine getirildikçe tekrarlanır. JavaScript'te bu iki komut ile yapılabilir: for ve while. for( i = 0 ; i < 10 ; i = i + 1 ){ alert(i) } programı 0'dan 10'a kadar olan tüm sayılar ile bir uyarı verecektir. Benzer şekilde, while( bugun_hangi_gun() == "Çarşamba" ){ alert("bugün hala çarşamba!") } programı tüm çarşamba günü boyunca bugün hala çarşamba! uyarısı verecek, perşembe günü gelince de uyarı vermeyi kesecektir.

JAVASCRIPT

Az önce bahsettiğim dört olay tüm "adam akıllı" programlama dillerinde bulunur, ve bu dillere JavaScript de dahildir. JavaScript, HTML dilinin içine <script> ve </script> HTML komutları arasına konur. Örneğin, HTML dersindeki deneme.html sayfamıza şimdi de şu içeriği koyarak bir deneme yapabiliriz: <script>document.write("merhaba")</script>, ki bu durumda sayfayı açınca merhaba yazacak, JavaScript kodu görünmeyecektir. Aynı denemeyi <script>window.alert("merhaba")</script> programı ile de pekala yapabilirsiniz. script HTML komutları arasına konan JavaScript programı, sadece emirden, sadece fonksiyondan veya tüm bunların bir karışımından oluşabilir.

JavaScript'in diğer çoğu dilden farkı her zaman yorumlanarak çalıştırılan bir dil olmasıdır, yani JavaScript programını çalıştırmakta olan web tarayıcısı, JavaScript kodunu satır satır okuyarak çalıştırır ve değişken adları gibi şeyleri her zaman aklında tutar. Dolayısıyla, JavaScript'te mesela eval komutu ile bir JavaScript kodunu dinamik olarak çalıştırtmak mümkündür: eval("window.alert('merhaba')") gibi mesela. eval fonksiyonu, değişkenlerin değerlerine falan da ulaşabilir, mesela eval("i"+sayi) değeri sayi 5 ise i5 değişkenini okuyacaktır. Bu, diğer programlama dillerine olmayan ve programcının hayatını son derece kolaylaştıran bir özelliktir.

Öte yandan, JavaScript yorumlanarak çalıştırıldığı için bir çok dilden daha yavaş çalışır.

DAHA FAZLASI

JavaScript ile ilgili tam bir dersi tabii ki burada veremem... Size tavsiyem burada gördüğünüz bilgiler üzerinde biraz çalışıp DHTML ile ilgili yazımı okuyup öyle egzersise koyulmanız.