İşlemlerde Sıra:
Javascript'te işlem sıralaması aynen
matematikte kullandığımız şekliyledir. Şöyle bir bilgilerimizi
yoklarsak. Aritmetik işlemlerin tümünde işlem sırası öncelikle
çarpma (*), sonra bölme (/), sonra toplama (+) ve sonrasında
çıkarma (-) şeklindedir. Javascript te bu kurala aynen uyar.
Hatırlarsanız tüm bu sıralamanın önüne geçen bir durum vardır.
Parantez içleri. Herhangi bir işlemin içinde veya dışında hangi
işlem olursa olsun herzaman için parantez içleri öncellikle
yapılır.
Şimdi Javascript'te kullandığımız ve ileride
çok kullanacağımız işlem türlerine bir bakalım.
Atama İşlemleri:
Javascript'te ve tüm dillerde sıklıkla
kullanılan işlem türü atama işlemidir. Değişkenlere değer verme
işlemini atama işlemi ile yaparız. Atama işleminin gösterimi "="
eşittir aritmetik işaretidir. Atama işleminin en önemli ve
unutulmaması gereken kuralı her zaman için atama işleminin sağdan
sola doğru yapıldığıdır.
Örneğin:
var isim = "Merve"
dediğimizde "Merve" değerini isim
değişkenine atıyoruz. Böylelikle işlem sağdan sola şeklinde
oluyor.
Artimetik İşlemler:
Javascript, dört temel işlemi ve bunlardan
oluşan diğer aritmetik işlemleri kolayca yapabilir. Bu dört işlem
bilindiği üzre, "+" toplama, "-" çıkarma, "*" çarpma ve "/"
bölmedir.
Bu işlem operatörlerinden toplama işleminin
özel bir durumu vardır. Javascript toplanacak değerlere ilk
öncelikle bakarak numerik mi yoksa alfanumerik mi olduklarını
kontrol eder. Numerik ise normal bir şekilde bu değerleri toplar.
Alfanumerik ise sağdaki değeri soldaki değerin arkasına ekler.
Örneğin;
var topla1 = 6+5
var topla2 = "ohomek" + "@" + "webteknikleri" + "." + "com"
Yukarıda açıkladıklarımız doğrultusunda
topla1 değişkenimizin değeri 11, topla2 değişkenimizin değeri ise
ohomek@webteknikleri.com olacaktır.
Karşılaştırma İşlemleri:
Bilgisayarlar ilk varolduklarından beri bir
amaç uğruna geliştirildiler. O da karar verebilme yeteneği. İşte
bu yetenek bilgisayara karşılaştırma işlemleri sonucu
kazandırılabilir.
Javascript'te altı karşılaştırma değişkeni vardır.
| == |
Eşit operatörü sağındaki ve solundaki
değerin eşitliğini kontrol eder. Eşit ise dönen değer "doğru"
(true) dur. |
| != |
Eşit değil operatörü sağındaki ve
solundaki değerin eşitliğini kontrol eder. Eşit değilse dönen
değer "doğru" (true) dur. |
| < |
Küçüktür operatörü soldaki değerin
sağdaki değerden küçük olduğu durumlarda "doğru" sonucu verir. |
| <= |
Küçük-eşit operatörü soldaki değerin
sağdaki değerden küçük ve eşit olması durumunda "doğru" değeri
döndürür. |
| > |
Büyüktür operatörü soldaki değerin
sağdaki değerden büyük olduğu durumlarda "doğru" sonucu verir. |
| >= |
Büyük-eşit operatörü soldaki değerin
sağdaki değerden büyük ve eşit olması durumunda "doğru"
değerini döndürür. |
Şartlı İşlemler:
Javascript'te şu koşul doğru ise bu işlemi,
değilse şu işlemi yap gibi şartlı cümleleri ileride göreceğimiz if
yapısıyla veya şartlı işlemler ile yapabiliriz.
Bu işlemi yaptırabilmek için az önce
gördüğümüz "Karşılaştırma Operatörleri" nden yararlanacağız. Yazım
kuralına gelince;
degisken_adi = (kosul) ? kosul_dogru_ise : kosul_yanlis_ise
Şimdi bir örnek yapalım:
var a= 10;
var b= 11;
var sonuc = (x==y) ? "a ve b birbirine eşit değil" : "a ve b birbirine eşit"
Mantıksal İşlemler:
Mantıksal işlemler genellikle iki
karşılaştırmanın gerekli olduğu yerlerde kullanılır. Diyelim ki
elinizde iki koşul var ve yaptıracağınız işlem için bunlardan
birisinin doğru olması yeterli. İşte bu ve bunun gibi durumlarda
mantıksal işlemler devreye girer.
Mantıksal işlem operatörleri üç tanedir.
&& Her iki koşul doğru ise (ve)
|| Her iki koşuldan birisi doğru ise (veya)
! Koşulların ikisi de doğru değilse (değil)
Şimdi örnekleyelim.
if(odev>90 || notu>=50) ? durum = "geçti" : durum = "kaldı"
Örneğimizi kelimelere dökersek:
Eğer odev değişkeninin değeri 90'dan büyükse
veya not değişkeninin değeri 50'den büyükse; durum değişkenin
"geçti", değilse "kaldı" değerini alır.
Program Akış Denetimi:
Bilgisayarların bize sağladığı en büyük
kolaylık için karar verebilme yeteneği olduğunu söylemiştik. Fakat
bu karar verme durumunu da biz kendi belirlediğimiz akış
içerisinde gerçekleştiririz. Biz izlenmesi gereken yolları
belirler, bu yollar için belirle şartlar koyarız. İşte bu noktada
"Akış Denetimi" büyük önem kazanır.
Şimdi Javascript'in nasıl bir akış
denetimine sahip olduğunu ve bunun nasıl kullanıldığını göreceğiz.
if .... else ... ( Eğer ... ise ...)
Javascript'in belirli bir koşula göre yol
izlemesini sağlayan en çok kullanılan aracı "if" (Eğer)
ifadesidir. Komut koşulun sağlanıp sağlanmadığına göre yönlenir.
Koşuldan dönen değer doğru ise (yani koşulun sonucu doğruysa)
hemen altındaki satırdan programı işletmeye devam eder. Siz
programınızda şartın kabul olmadığı (yani dönen değerin yanlış
olduğu) durumlar içinde bir yol belirlediyseniz ki bunu "else"
komutu ile yaparsınız, o satıra yönlenir.
if .. else ... nin yazım kuralı şöyledir.
if(kosul)
{
kosul doğru ise yapılacaklar
}
else
{
koşul yanlış ise yapılacaklar
}
Karşılaştırma sonucu yaptıracağınız işlem
tek bir komut veya bir satır ise "{ }" işaretlerini kullanmaya
bilirsiniz. if için "{ }" gerekmeme durumu aynen else için de
geçerlidir.
if(kosul)
koşul doğru ise yapılacaklar
else
koşul yanlış ise yapılacaklar
Tabii sadece bir dallanma şeklinde olması
gerekmez şartımızın. İç içe if.. else .. ler olabilir
programımızda.
Şimdi bir örnek yapalım.İlk başlarken "alert"
hazır fonksiyonunu kullanarak Merhaba Dünya yazdırmıştık. Bu sefer
yine bir hazır fonksiyon olan "confirm"i kullanarak seçim
yaptıracağız. Confirm'in alert fonksiyonundan farkı mesaj
görüntülendikten sonra "Ok" ve "Cancel" tuşları ile yanıt
beklemesidir.

<html>
<head>
<script Language="Javascript">
<!--Javascript kodunu eski tarayicilardan gizleyelim
function secim()
{
var soru1 = confirm("Bugün günlerden Pazar mı?")
if(soru1== true)
{
alert("O halde tatildesiniz.");
}
else
{
var soru2 = confirm("Cumartesi öyleyse değil mi?")
if(soru2)
alert("Ne güzel, haftasonundayız.");
else
alert("O halde haftaiçi çalışma günlerindeyiz.");
}
}
gizlemeyi bitirelim. -->
</script>
</head>
<body>
<a href="javascript:secim()">Sorular için tıkla bakalım.</a>
</body>
</html>

Javascript herzaman için işleme başlamak
için bir olayın olmasını bekler.Burada "Sorular için tıkla
bakalım" kelimesinin tıklanması ile olayımızı başlatıyoruz.
Görüldüğü üzere kelimenin linki secim foksiyonuna yönleniyor.
Fonksiyonumuzda ise soru1 değişkenine confirm komutunun atandığını
görüyoruz. Confirm komutundan bize "true" (doğru) veya "false"
(yanlış) değeri döner.
Javascript burada if(soru1== true)
satırından dönen değer doğru ise yani şart sağlanıyorsa hemen
altındaki satırı işleme koyar. Bizim programımızda şart doğru ise
"O halde tatildesiniz" mesajını görüntüleniyor, değilse else
satırına yönlenerek bir soru daha soruyor.
Programımızın else satırından sonraki if
ifadesi ilginiz çekmiş olmalı. Çünkü oradaki if ifadesinde
herhangi bir karşılaştırma operatörü yok. Program içinde dönen
değeri doğru yada yanlış olan değişkenleri "Boolean" (mantıksal)
değişken ismi ile anılır. Mantıksal değişkenler Javascript
tarafından if şartı içerisinde böyle yalın olarak
kullanıldıklarında değeri true (doğru) ise şeklinde algılanırlar.
Yani;
if(soru2)
satırı ile
if(soru2==true)
aynı anlamı taşır.
switch... case... (degistir)
Javascript'in switch komutu, programın
içerisindeki bir değişkene göre belirli bir yolun izlenmesini
sağlar.
Javascript içerisinde switch komutunun
kullanım şekli:
switch (degisken_adi)
{
case "degisken_degeri":
... yapılacak iş
case "degisken_degeri":
.. yapılacak iş
..
..
default:
cevap istediğimiz şekilde değil ise yapılacak iş
}
Bunu bir örneğe dökersek. Mesela bir
alışveriş sitesinden bir bilgisayar ekranı sipariş veriyorsunuz.
Site size istediğiniz ekranınızın kaç inç olacağını soruyor ve
karşılığında size ona göre fiyat çıkartıyor.
<html>
<head>
<script Language="Javascript">
<!--Javascript kodunu eski tarayicilardan gizleyelim
function ekran()
{
var soru = prompt("Cevabınız 15,17,21 şeklinde veriniz.","15")
switch (soru)
{
case "15":
alert("15 inç ekran için sistem fiyatına 50$ eklenecektir")
break;
case "17":
alert("17 inç ekran için sistem fiyatına 150$ eklenecektir")
break;
case "21":
alert("21 inç ekran için sistem fiyatına 250$ eklenecektir")
break;
default:
alert("Lütfen cevabınızı 15,17,21 den birisini yazarak veriniz")
}
}
gizlemeyi bitirelim. -->
</script>
</head>
<body>
<a href="javascript:ekran()">Kaç inç ekran istiyorsunuz?</a>
</body>
</html>
Bu örneğimizde de Javascript aracılığı ile
klavyeden bilgi girişini sağlayan prompt hazır fonksiyonunu
kullandık. Bir önceki örneğimiz gibi olayımızın başlaması için onu
bir linke bağladık. Ardında soru değişkenimiz ile prompt
penceresinin açılmasını sağladık. Prompt hazır fonksiyonunun
kullanımı:
prompt ("sorumuz","varsayılan cevap")
şeklindedir.

Prompt hazır fonksiyonunu kullanırken
"varsayılan cevap" kısmını kullanmayabiliriz. Kullanmadığımızda
cevap hücresinde "undefined" tanımlanmamış ifadesini göreceksiniz.
Switch ifademizin içerisine prompt komutu
ile aldığımız soru değişkenini yazıyoruz. Case ifadeleri ile de
soruya alınan cevaba göre yönlendirme yapıyoruz.
Burada break ifadesi de dikkatiniz çekmiş
olmalı. Break, Javascript kodunuzun içerisinde herhangi bir yerde
herhangi bir nedenle komut işletiminin durdurulmak istenmesi
durumunda kullanılır. Bizim kodumuz içerisinde geçen break
ifadesini, sorgulama ve sonucunun kullanıcıya iletilmesinden sonra
kullanıyoruz. Çünkü bu durumda istediğimiz işlem gerçekleşiyor ve
diğer case ifadelerinin değerlendirilmesine gerek kalmıyor.
Switch komut bloğunun en altındaki yeralan
default ifadesi, kullanıcın cevabının bizim istediğimiz şekilde
olmadığı durumlarda yönleneceği yerdir.
|