
Merhaba arkadaşlar,
Bu makalemde sizlere JavaScript'te,hemen her dilin temel yapısını oluşturan değişkenlerin,operatörlerin ve akış kontrollerinin nasıl kullanıldığını anlatacağım.
[h3]Değişkenler (Variables)[/h3]
Bir çok programlama dilinin olduğu gibi değişkenler javascript'in de en temel parçalarından bir tanesidir.Uygulamalarımızda değişkenleri sık sık kullanacağız.
Değişkenler belirlediğiniz bir veriyi saklamanızı ve yeri geldiğinde de sakladığınız bu veriyi kullanmanızı sağlayan nesnelerdir.Depolayabileceğiniz verilerin türleri ise esnektir.Bir değişken içerisinde bir karakter dizisi,bir tam sayı ya da farklı türde bir javascript nesnesi (örneğin Date gibi) tutabilirsiniz.
[php]
[/php]
Yukarıdaki basit uygulamayı çalıştırdığınızda javascriptin ekrana "hello world" yazdığını görürsünüz.Şimdi ne yaptık,inceleyelim.
[b]var degisken1="hello world"[/b]
Burada "degisken1" adında bir değişken tanımlıyor ve içine "hello world" değerini atıyoruz.JavaScriptte değişken tanımlamak için "var" anahtar sözcüğü kullanılır."var" sözcüğü değişkenin adından önce gelir.
Hemen şunu da söyleyim; bu bir gereklilik değildir,yani yukarıda:
degisken1="hello world"
şeklinde bir değişken tanımı yapsaydık kodumuz yine bir hata olmadan çalışırdı.Ancak ben "var" sözcüğünü özellikle de satırlarca kod yazdığım uygulamalarımda kullanıyorum.Çünkü nerede değişken tanımladığımı daha rahat görebiliyorum.
Yukarıda bir değişken içerisinde bir karakter dizisi (string) depoladık.Aynı şekilde bir değişkeni bir tamsayı (integer) tutması için de kullanabilirdik.
[php]
[/php]
[b]document.write[/b]
JavaScriptte ekrana yazı yazmak için document nesnesinin write metodunu kullanıyoruz.Yeri geldikçe bu nesneleri ve içerdikleri metod ve özelliklerin ne işe yaradıklarını ve metodun ne anlama geldiğini göreceğiz.Şimdilik document.write metodunun ekrana yazı yazdırmak için kullanıldığını ve kendisinden sonra gelen parantezlerin içine yazdıracağı değeri aldığını bilmemiz yeterli.
[h3]Operatörler[/h3]
Aslında değişken tanımlarken bir operatör kullandık o da "=" operatörüydü."=" operatörünü kullanarak değişkenin sağındaki değeri değişken içerisinde depoluyorduk.
JavaScript,değişkenlere atama yapmaktan başka aritmatiksel ya da karşılaştırma işlemleri için de bize çeşitli operatörler sunar.
[php]
[/php]
Şimdi örnekteki operatörüleri inceleyelim.
+ : İki sayı arasında toplama işlemi yapar
- : İki sayı arasında çıkarma işlemi yapar
* : İki sayı arasında çarpma işlemi yapar
/ : İki sayı arasında bölme işlemi yapar
++ : Tekil bir operatördür.Yani tek bir operand alır.Operandının değerini bir artırır.Yani yukarıdaki rakam1 değişkenine "1" atatıkdan sonra rakam1++ ifadesiyle rakam1 değişkeninin değerini bir artırdık ve 2 yaptık.
-- : ++ operatörünün yaptığı işin tersini yapar yani operandın değerini bir azaltır.
% : Bir çok kişi tarafından iki sayının yüzdesini almak için kullanıldığı sanılsa da aslında amacı farklıdır.% operatörü solundaki operandın sağındaki operanda bölümünden kalanı döndürür.Yani yukarıdaki örneğimizde 10'un 3'e bölümünden kalan sayıyı döndürür.
Operand nedir? : Operand bir operatöre işlemesi için verilen değerdir.Yani yukarıdaki ++ operatörünün operandı "rakam1" değişkenidir.Aynı şekilde + operatörünün operadları ise 11 ve 8 rakamlarıdır.
Gördüğünüz gibi bazı operatörler tek,bazı öperatörler ise birden fazla operand ile işlem yaparlar.
Ve yine operatörler hakkında yukarıdaki bir noktaya dikkat çekmek istiyorum.
document.write("Toplama işlemi : "+topla+"
");
Burada da + operatörünün işlevi toplama yapmak değil,değerleri birleştirmektir.Yani çıktı
Toplama işlemi : 19
şeklinde olacaktır.+ operatörünü string ifadeler ile beraber kullanırsanız matematiksel işlevi yerine birleştirme işlevi devreye girer.
JavaScriptte ayrıca karşılaştırma (comparison) işlemleri de yapabilmemiz için karşılaştırma operatörleri bulunur.Karşılaştırma operatörleri ile değerleri birbirleri ile karşılaştırabiliriz.
== Eşit mi operatörü.
İki operand alır.Eğer iki taraftaki operandlar birbirine eşitlerse true,değillerse false döndürür.
> Büyük mü operatörü.
İki operand alır.Soldaki operandın sağdaki operanddan daha büyük olması durumunda "true" aksi halde "false" döndürür.
< Küçük mü operatörü.
İki operand alır.Sağdaki operandın soldaki operanddan daha büyük olması durumunda "true" aksi halde "false" döndürür.
>= Büyük ya da eşit mi operatörü
İki operand alır.Eğer soldaki operand sağdaki operanddan büyükse ya da sağdaki operanda eşitse true aksi halde false döndürür.
<= Küçük ya da eşit mi operatörü
İki operand alır.Eğer sağdaki operand soldaki operanddan büyükse ya da soldaki operanda eşitse true aksi halde false döndürür.
=== Tamamen eşit mi operatörü
İki operand alır.Eğer veriler hem tür hem değer bakımından eşitlerse true aksi halde false döndürür
Arkadaşlar true ve false,JavaScriptte doğru (true) ve yanlış (false) değerlerine karşılık gelirler.Genelde javascript dilinde olumlu ve olumsuz sonuçları ifade etmek için kullanılırlar.Yukarıda da operatörler olumlu sonuçlar için true,olumsuzlar için false döndürüyordu.
true ve false ayrı bir yapı olduğu için değişken içerisinde de depolanabilirler.JavaScriptte aynı String gibi Boolean adı altında farklı bir sınıf vardır.(true ve false değerlerinin adı Boolean'dır,yani "hello world" değerinin türü nasıl string ise true ve false'un da boolean dır)
var dogru=true
var yanlis=false
Şimdi bir örnekle bu operatörleri nasıl kullanabileceğimizi daha rahat anlayacaksınız.
[php]
[/php]
Kodların yanına yazdığım yorumlar kodları açıklıyor zaten.
[h3]Koşullar[/h3]
[b]IF[/b]
IF,türkçe "eğer" anlamına gelmektedir.JavaScriptte de aynen bu amaca hizmet eder.If sayesinde siz bir koşulun doğru olup olmadığı durumlarda javascriptin ne yapması gerektiğini ayarlayabilirsiniz.
[php]
[/php]
Yukarıdaki örneği çalıştırdığımızda ekrana " degisken1 içerisinde 1 değerini tutuyor" yazdıldığını görürüz.Neden böyle oldu?
Öncelikle sayfa yorumlanmaya başladığında "var degisken=1" tanımı ile "degisken" değişkenine "1" değerini atıyoruz.
Ardından if yapısını kullanarak "degisken" değişkeninin içindeki değerin "1" e eşit olup olmadığını kontrol ediyoruz.
IF kelimesinden sonra gelen parantezler içerisine if yapısının dikkate almasını istediğimiz koşulu yazarız. "degisken==1" ifadesi bildiğiniz gibi "degisken" içerisindeki değer 1'e eşitse true aksi halde false döndürürdü.
Eğer if yapısına parantez içerisinde "true" değeri verilirse bloğun içerisindeki tüm kodları çalıştırır.
Bloktan kastımız süslü parantezlerle ayrılmış olan kısımdır.Açılış süslü parantezi ({) if bloğunun başlangıcını,kapanış süslü parantezi ise (}) if bloğunun bitişini belirtir.Eğer if yapısının koşul parantezleri içerisine true değeri verilirse belirttiğimiz bu blok içerisindeki kodlar çalıştırılır, eğer false verilirse javascript bu kodları görmezden gelir yani blok çalıştırılmaz.
Yukarıda da if yapısının koşul parantezleri içerisinde degisken==1 karşılaştırmasını yapıyoruz.Eğer bu karşılaştırmadan "true" değeri dönerse blok çalıştırılır ancak "false" dönerse,yani "degisken" değişkeninin değeri 1 değil de başka birşeyse o zaman blok çalıştırılmaz.
Benzer örneklerle durumu görebiliriz.
[php]
var degisken1=43;
if(degisken1>11)
{
document.write("true döndü
");
}
var degisken2=50;
if(degisken2<100)
{
document.write("true döndü");
}
var degisken3=13;
var degisken4="13";
if(degisken3===degisken4)
{
document.write("true döndü");
}
[/php]
Yukarıdaki ilk iki if kontrolünün sonucu true olduğu için ekrana "true döndü" yazısı yazılacaktır ancak son if kontrolünün koşul parantezlerindeki karşılaştırmanın sonucu false olduğu için yazı ekrana yazılmayacaktır.
[b]IF-ELSE[/b]
If yapısında bir koşul doğru ise blok çalıştırılır ancak yanlış ise çalıştırılmaz.Bu durumda yani koşulun yanlış olduğu durumlarda farklı bir işlem yaptırmak isteyebiliriz
[php]
JavaScript
[/php]
Örneği çalıştırdığımızda ekrana "false döndü" yazısının yazıldığını görürüz.Yukarıda "degisken1>101" ifadesinin sonucunda false değeri dönecektir ve dolayısıyla if bloğuna girilemeyecektir.Ancak biz degisken1'in 101'den büyük olmaması durumunda başka bir aksiyon yapılmasını da isteyebiliriz.Aynen az önce olduğu gibi eğer "degisken" 101'den büyükse farklı bir işlem,değilse de başka türlü bir işlem yapmak isteyebiliriz.İşte bu yüzden else yapısını kullanırız.Else tek başına kullanılan bir yapı değildir,if'den sonra gelir ve "aksi takdirde" anlamı taşır.Yani eğer if koşulu false olursa (yani ilk blok çalıştırılmayacaksa) mutlaka else bloğu çalıştırılır.Ancak if koşulu true gelirse else bloğu asla çalıştırılmaz.
[b]IF-ELSE IF[/b]
Bazen tek bir if yapısı içerisinde bir den fazla koşul yazmak isteyebiliriz.Yani şöyle: eğer değiken içerisindeki veri "sabah" değerine eşitse ekrana "günaydın",değişken içerisindeki veri "öğle" değerine eşitse ekrana "tünaydın" ,eğer "akşam" değerine eşitse ekrana "iyi akşamlar" ve hiç birine eşit değilse de ekrana "git yat artık" yazılsın.
[php]
JavaScript
[/php]
Gördüğünüz gibi else if sayesinde tek bir if yapısında bir den fazla koşul belirleyebiliyoruz.