BİRSEY.COM

   

JAVASCRİPT

HTML__icon.gif (2655 bytes)

KONULAR

satir_arasi.gif (41 bytes)

JAVA'YA GİRİŞ

satir_arasi.gif (41 bytes)

TEMEL İLKELERİ

satir_arasi.gif (41 bytes)

DEGİŞKENLER

satir_arasi.gif (41 bytes)

İŞLEMLER  (OPERATOR) 1

satir_arasi.gif (41 bytes)

İŞLEMLER  (OPERATOR) 2

satir_arasi.gif (41 bytes)

PROG.AKİŞ DENETİMİ

satir_arasi.gif (41 bytes)

FONKSİYON

satir_arasi.gif (41 bytes)

FONSİYOLA HTML İLİŞKİSİ

satir_arasi.gif (41 bytes)

NESNELER

satir_arasi.gif (41 bytes)

OLAYLAR

satir_arasi.gif (41 bytes)

DİNAMİK HTML İLE JAVASCRİPT

satir_arasi.gif (41 bytes)

JAVA DERSİ MUSTAFA OZKAN

                                             Javascript’te İşlemler (Operator) 2

Daha sonra örneklerini göreceğiz; ve karşılaştırma işleminden sonra ne olduğunu, Javascript’in nasıl bir yol izlediğini ele alacağız. Şimdi sadece böyle bir karşılaştırma işleminde nasıl sonuç verdiğini görmekle yönetinelim. Düz yazı programınızda şu HTML kodunu yazın ve karsilastirma1.htm adıyla kaydedin:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">

<title>Javascript'te Mukayese</title>

<script LANGUAGE="Javascript1.2">

<!-- Javascript kodunu eski sürüm Browserlardan saklayalim

// degisken tanimlari

var x, y, z

x = 7

y = 7

z = 13

// -->

</script>

</head>

<body>

<pre>

<script LANGUAGE="Javascript1.2">

<!-- Javascript kodunu eski sürüm Browserlardan saklayalim

//mukayese sonuclarını gösterelim

document.writeln("x = " + x)

document.writeln("y = " + y)

document.writeln("z = " + z)

document.write("x değişkeni y değişkenine eşit mi, (x==y)? ")

document.writeln(x==y)

document.write("y değişkeni z değişkenine eşit mi, (y==z)? ")

document.writeln(y==z)

// -->

</script>

</pre>

</body>

</html>

Bu kod bir tarafta açıkken, oluşturduğunuz dosyayı Browser’da açın ve sonuca bakın; sonra kodunuzda x, y ve z değişkenlerinin değerini değiştirerek, Browser’a sayfayı yenilettirin; sonucun nasıl değiştiğini inceleyin. Javascript’in sonuç true (doğru) ise nasıl ilerlediğini, sonuç false (yanlış) ise nasıl ilerlediğini daha sonra ayrıntılı olarak göreceğiz. Fakat derhal öğrenmeniz gereken kuralı burada belirtelim: Javascript, karşılaştırma sonucu doğru ise, karşılaştırma komutundan sonraki ilk emri (veya emir grubunu), değilse bir sonraki emri (veya emir grubunu) icra eder. Bunun ayrıntılarını da ele alacağız. Şimdilik sadece bu kuralı bir kenara yazın!

Bu konuyu bitirmeden, bir de ne ile neyi karşılaştırabileceğinizden söz edelim. Javascript 1.0’de elmalarla (sayılarla) armutları (alfanümerik değişkenleri) karşılaştırabilir ve doğru sonucunu verebilirdi. Yani, Javascript 1.0 açısından 7 ile "7" eşitti; Javascript önce karşılaştırılan değişkeni sayıya çevirip çeviremeyeceğine bakar; çevirebiliyorsa, karşılaştırmayı yapardı. Daha sonraki sürümlerinde durum değişti; Javascript’i tasarlayanlar bu çevirme işlemini programcıya bıraktılar; dolayısıyla Javascript elmalarla armutları ayırteder oldu!

 

Alfanümerik İşlemleri:

Javascript’in alfanümerik değişkenlerin değerleri ile sadece toplama işlemi yaptığını söylemiştik. Bu durumda buna toplama değil birleştirme, ekleme işlemi denir.

Aşağıdaki kodu düz yazı programınızla oluşturup, birlestir.htm adıyla kaydederseniz ve Browser’ınızda incelelerseniz, Javascript’in alfanümerik değerleri nasıl birleştirdiğini görmüş olursunuz:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">

<title>Javascript'te Ekleme</title>

</head>

<body>

<pre>

<script LANGUAGE="Javascript1.2">

<!-- Javascript kodunu eski sürüm Browserlardan saklayalim

//değiskenlerimizi tanımlayalım

var a, b, c, d

a = "www"

b = "pcworld"

c = "com"

d = "tr"

//sonuçlarımızı görüntüleyelim

document.writeln("a değişkeninin değeri: \""+a+"\".")

document.writeln("b değişkeninin değeri: \""+b+"\".")

document.writeln("c değişkeninin değeri: \""+c+"\".")

document.writeln("d değişkeninin değeri: \""+d+"\".")

document.writeln("\nŞimdi bunları birleştirelim:\n")

document.write("a + b = ")

document.write(a + b)

document.write("\nAralarına nokta koyalım: ")

document.write(a + "." + b)

document.write("\nŞimdi c değişkenini, noktasıyla birlikte ekleyelim: ")

document.write(a + "." + b + "." + c)

document.write("\nŞimdi de d değişkenini, noktasıyla birlikte ekleyelim: ")

document.write(a + "." + b + "." + c + "." + d)

document.write("\nİşte a + b + c + d'nin sonucu: ")

document.write(a + "." + b + "." + c + "." + d)

// -->

</script>

</pre>

</body>

</html>

Bu dosyada, iki tür yazdırma komutu kullandığımıza dikkat ediyor musunuz: "document.writeln()" ve "document.write()". Bu iki komut arasındaki farkı bulabilir misiniz? (İpucu: "document.write()" yönteminde satırbaşı yaptırtmak için "\n" kullanıyoruz!)

Javascript, alfanümerik değerlere diğer aritmetik işlemleri yapamaz. Buna karşılık, Javascript sayılarla yaptığı bütün karşılaştırma işlemlerini alfanümerik değişkenlerle de yapar ve doğru veya yanlış sonucunu bildirir.

Daha önce kaydettiğiniz karsilastirma1.htm dosyasını düz yazı programında açın ve değişkenleri tanımladığınız bölümünü şöyle değiştirin:

x = "Ali"

y = "Ali"

z = "Veli

"

Sonra bu dosyayı, karsilaştirma2.htm adıyla kaydedip, Browser’da inceleyin; değişkenlerin değerini değiştirip, yeniden inceleyin ve ne sonuç aldığınıza bakın.

 

Şartlı İşlemler:

Javascript’te karşılaştırma yaparken şartlı (..ise ..yap!) işlemler de yaptırabilirsiniz. Şartlı işlemlerde ? (soru işareti) ve : (iki nokta üstüste) işaretlerini kullanırsınız.

Karsilastirma2.htm dosyasının bütün "document.write.." kodlarını silin ve yerine şu iki satırı yazarak, karsilastirma3.htm adıyla kaydedin.

sonucMsg = (y==x)?"y degiskeni x degiskenine esit!" : "y degiskeni x degiskenine esit degil!"

alert(sonucMsg)

Kod dosyası düz yazı programında açıkken, karsilastirma3.htm’i Browser’da açın. Uyarı kutusunda, iki değişkenin eşit olması şarti halinde görüntülenmesini istediğiniz mesajı göreceksiniz. Dosyada değişkenlerin değerini değiştirerek, sonucu inceleyin. Bunu sağlayan şartlı işlem komutu üç bölümden oluşuyor: şartın doğru olup olmadığını sorguladığınız, soru işaretine kadar olan karşılaştırma bölümü; iki nokta üstüste işaretine kadar olan şart doğru ise uygulanacak bölüm, sonra satır sonuna kadar olan şart yanlış ise uygulanacak bölüm. Yukarıda, "Javascript bir karşılaştırma yaptıktan sonra karşılaştırma sonucu doğru ise, karşılaştırma işleminden sonraki ilk komutu icra eder" demiştik. Burada da, x değişkeni ile y değişkeni aynı olduğu zaman, soru işaretiyle biten karşılaştırma işleminden hemen sonraki ilk komut (veya ifade) seçiliyor; değişkenler aynı olmadığı taktirde, iki nokta üstüste işaretinden sonra gelen komut (veya ifade) seçiliyor.

Mantıksal İşlemler:

Javascript, karşılaştırma işlemini Boolean (.. ve .. doğru ise ... yap!) mantıksal işlemlerini kullanarak da yapabilir. Burada, Boolean mantığından kısaca söz edelim.

Şimdi, bir baba, kızı Ayşe ile oğlu Ali’ye diyor ki, "İkiniz de sınıfını geçerseniz, bu yıl sizi Antalya’ya deniz kenarında bir ay geçirmek üzere teyzenizin evine göndereceğiz!" Ali sınıfını geçer, Ayşe geçemezse iki çocuk da teyzelerine gidemeyecekler; Ali sınıfını geçer, Ayşe de geçerse, iki çocuk da Antalya’ya gidecek; Ali de, Ayşe de sınıflarını geçemezse, iki çocuk da yaz tatilini oturdukları yerde geçirecekler.

Javascript’in Boolean mantığını sorgulama işaretleri şunlardır:

&& Mantıksal Ve: iki koşul da doğru.

|| Mantıksal Veya: ya birinci, ya da ikinci koşul doğru.

! Mantıksal Değil: Tek koşula uygulanır; koşul doğru ise sonuç false (yanlış), koşul yanlış ise sonuç true (doğru) olur.

Bu mantığı, şimdi Boolean ifadesi haline getirelim:

BOOLEAN İFADESİ İFADENİN AÇIKLAMASI
Ali=geçti && Ayşe=geçti : çocukların ikisi de tatile gidiyor.
Ali=geçti || Ayşe=geçti : çocukların ikisi de tatile gidemiyor.
!(Ali=geçti) : çocukların ikisi de tatile gidemiyor.
!(Ayşe=geçti) : çocukların ikisi de tatile gidemiyor.

İşlemlerde Sıra:

Javascript’te işlemler yukarıdan aşağı ve soldan sağa yapılır, ama aritmetik işlemlerde bu kuralın bazı istisnaları vardır. Javascript kodlarınızda beklediğiniz sonuçları alamıyorsanız, önce işlemlerinizi işlem sırasına uygun yazıp yazmadığınızı kontrol edin.

Javascript’te işlemlerin genel sırası şöyledir: Atama işlemleri, şartlı işlemler, mantıksal ve/veya/değil işlemleri, karşılaştırma işlemleri, aritmetik işlemler, fonksiyonlar.

Javascript’te aritmetik işlemler ilke olarak soldan sağa doğru yapılır. Örneğin

x = a * b + c

denklemi çözülürken, önce a ile b çarpılır, elde edilecek sayıya c eklenir.

Fakat bir denklemde parantez içine alınmış ifade varsa, Javascript önce parantezin içini halleder. Örneğin

x = a * (b + c)

denklemin önce b ile c toplanır, elde edilecek sayı a ile çarpılır.

Eğer bir işlemde Javascript aritmetik işlemleri sıraya sokmak zorunda kalırsa, toplama, çıkartma, çarpma ve bölme sırasıyla yapar. İşlemlerin sırası konusunda kuşkunuz varsa, mümkün olduğu kadar çok parantez kullanın.

İLERİ

©2001 BİRSEY.COM