JavaScript Metot ve Fonksiyonları

JavaScript Metot ve Fonksiyonları

Metotlar nesneler için tanımlanmış olan fonksiyonlar ya da işlevlerdir. Her nesnenin kendisine özgü metotları mevcuttur. Metotlar bir anlamda nesnenin yapabileceği eylemler olarak da görülebilir. Bir metot ya nesne üzerinde bazı değişiklikler yapar ya da nesnenin algıladığı bazı mesajlara cevap olarak bir eylem oluşturur.

Örneğin document nesnesinin metotlarından biri de write metodudur ve bu metot kendisine verilen bilgileri document nesnesi üzerine yazar.

Bir nesneye ait metodu harekete geçirmek için,

NesneAdı.MetotAdı(ArgümanListesi)

şeklinde bir yazılış biçimi kullanılır.

Örneğin,

Document.write(x)

ifadesinde document nesnesi üzerine x değişkeninin değeri yazdırılmaktadır.

JavaScript fonksiyonları ise nesnelerden bağımsız olarak belirli işlevleri yerine getiren program parçalarıdır. Fonksiyonlar iki gruba ayrılır:

JavaScript'in yapısında hazır olarak bulunan fonksiyonlar (built in functions)
Kullanıcı tarafından tanımlanan fonksiyonlar (user defined functions).

Date Nesnesine Ait Metotlar


Aşağıdaki tabloda date nesnesine ait metotlar sunulmaktadır:

MetotGerçekleştirdiği işlem
getDateBelirli bir tarihe ait ayın gününü gönderir. (1-31 arası bir değer)
getDayBelirli bir tarihe ait haftanın gününü gönderir. (1-7 arası bir değer)
getHoursBelirli bir tarihe ait saati gönderir.
getMinutesBelirli bir tarihe ait dakikayı gönderir.
getMonthBelirli bir tarihe ait ay bilgisini gönderir.
getSecondsBelirli bir tarihe ait saniye bilgisini gönderir.
getTime1 Ocak 1970 ile belirlenmiş bir tarih arasındaki saniye sayısını gönderir.
getTimeZoneoffsetO anda bulunulan bölge için zaman bölgesi değerini dakika cinsinden gönderir.
getYearBelirli bir tarihe ait yıl bilgisini gönderir.
parse1 Ocak 1970 00:00:00 anından itibaren geçen milisaniye sayısını gönderir.
setDateBelirtilen bir tarihi oluşturur.
setDayBelirtilen bir tarihi oluşturur.
setHoursBelirtilen bir tarihe ait saat bilgi için atama işlemini gerçekleştirir.
setMinutesBelirtilen bir tarihe ait dakika bilgisini atar.
setMonthBelirtilen bir tarihe ait ay bilgisini atar.
setSecondsBelirtilen bir tarihe ait saniye bilgisini atar.
setTimeBelirtilen bir tarihe ait zaman bilgisini atar.
setYearBelirtilen bir tarihe ait yıl bilgisini atar.
toGMTStringGMT (Greenwich Ortalama Zamanı) biçimini kullanarak bir tarihi string'e dönüştürür.
toLocaleStringBir tarihi yerel özellikleri kullanarak string'e dönüştürür.
toStringBulunulan konuma ait tarihi string'e dönüştürür.
UTCVirgül ayraçlı bir tarih bilgisini 1 Ocak 1970'ten itibaren geçmiş saniye sayısına dönüştürür.

Document Nesnesine Ait Metotlar


Aşağıdaki tabloda uygulamada en çok kullanılan nesne olan document nesnesi ile ilişkili metotlar görülmektedir:
MetotGörevi
clearPencereyi temizler
closeDocument nesnesi için çıkış akımını kapatır; window nesnesi için pencereyi kapatır.
openBir document ya da window nesnesini açar.
writeBir document ya da window nesnesi üzerine verilen bir metni yazar.
writelnBir document ya da window nesnesi üzerine bir metin yazar ve metnin sonuna bir yeni satıra geçme karakteri ekler.

Form Nesnesine Ait Metotlar

Aşağıda form nesnesine ait metotlar görülmektedir:

MetotGörevi
blurBir metin kutusu metin bölgesi ya da şifre metin kutusu nesnesini odaktan çıkartır
clickBir form düğmesi (butonu) üzerinde tıklama (click) eylemi oluşmuş gibi işlem yapar
focusBir metin kutusu, metin bölgesi ya da şifre metin kutusu nesnesini odağa alır
selectBir metin kutusu, metin bölgesi ya da şifre metin kutusunun içindeki metni seçer
submitBir formu bir sunucuya (server) gönderir

Örnek bir e-posta adres kontrolünü birlikte inceleyelim:

<HTML>
<HEAD>
<SCRIPT Language = "JavaScript">
function icerik(kar,lstring) {
     val = false
     for (var i=1;i<=lstring.length;i++) {
          if (lstring.substring(i,i+1)==kar) {
          val=true
          break
          }
     }
     return val
}
function verikontrol()
{
     if (icerik("@",document.form1.eadres.value)) {
          document.form1.submit()
                   }
     else {
          alert("YAZDIĞINIZ BİR E-POSTA ADRESİNE BENZEMİYOR!")
          return false
     }
}
</SCRIPT>
<BODY bgColor="lightgreen">
<FONT FACE="Comic Sans MS">
<H3>E-POSTA ADRESİ KONTROLÜ</H3>
<FORM NAME="form1">
<B>e-mail ADRESİNİZİ GİRİNİZ:</B>
     <INPUT TYPE="text" NAME="eadres"><P>
     <INPUT TYPE="button" VALUE="GÖNDER" NAME="button1" onClick="verikontrol()">
</FORM>
</FONT>
</BODY>
</HTML>

JavaScript kodunun çıktısı şu şekilde olacak:


Yukardaki kodu çalıştırdığınız zaman gelen web sayfasında, ilgili kutuya e-posta adresini girip GÖNDER düğmesine tıklarsanız bu durumda girilen adresin bir e-posta adresi özelliğinde olup olmadığı kod tarafından kontrol edilecek ve değilse yukardaki mesaj verilecektir.

Form Nesnesi Uygulaması: E-posta Gönderme


<HTML>
<BODY bgColor="pink">
<FONT FACE="Comic sans MS">
<FONT SIZE=4 COLOR=#0000FF>BANA GÖNDERECEĞİNİZ E-POSTA İÇERİĞİ</FONT><BR>
<FORM METHOD=POST ACTION="mailto:destek@gelecegiyazanlar.org">
<P>
<TEXTAREA NAME="mesaj" ROWS=5 COLS=80></TEXTAREA>
<P>
 e-mail ADRESİNİZ: <INPUT NAME="cevap" VALUE="" MAXLENGTH="80" SIZE=60>
<P>
<INPUT TYPE="SUBMIT" VALUE="Submit">
<INPUT TYPE="RESET">
<BR>
</FORM>
</FONT>
</BODY>
</HTML>

Örnek kodun çıktısı aşağıdaki gibi olacak:



Form Nesnesi İle İlişkili Bir Uygulama: Büyük Küçük Harf Dönüşümü

Harf dönüşümünü JavaScript kodu ile yapalım:

<HTML>
<HEAD>
<TITLE>FORM NESNESİ-ÖRNEK</TITLE>
</HEAD>
<SCRIPT>
function degis (d){
 
    if (d == "buyuk") {

    document.form1.ad.value=document.form1.ad.value.toUpperCase()
    document.form1.soyad.value=document.form1.soyad.value.toUpperCase()}

    else {

    document.form1.ad.value=document.form1.ad.value.toLowerCase()
    document.form1.soyad.value=document.form1.soyad.value.toLowerCase()}

}
 
</SCRIPT>
 
<BODY bgColor="lightblue">
<FONT FACE="Comic Sans MS">

    <H3>FORM UYGULAMASI</H3>
 
</FONT>
 
<FORM NAME="form1">
    <B>AD:</B>

    <INPUT TYPE="text" NAME="ad" SIZE=20>

    <BR><B>SOYAD:</B>

    <INPUT TYPE="text" NAME="soyad" SIZE=20>
    <INPUT TYPE="button" VALUE="BÜYÜK HARF" NAME="buyukharf" onClick="degis('buyuk')">
    <INPUT TYPE="button" VALUE="KÜÇÜK HARF" NAME="kucukharf" onClick="degis('kucuk')">
 
</FORM>
</BODY>
</HTML>

JavaScript kodunun çıktısı

Burada AD ve SOYAD kutularına bir ad ve soyadı küçük harfle girerek "BÜYÜK HARF" düğmesine tıklayınız. Bu durumda girilen bilgi aşağıda görüldüğü gibi büyük harfe dönüştürülecektir:


Bu sayfada "KÜÇÜK HARF" düğesi tıklanırsa bu durumda bilgi tekrar küçük harfe dönüştürülecektir.



History Nesnesine Ait Metotlar


Aşağıdaki tabloda history nesnesi ile ilişkili metotlar sunulmaktadır:

MetotGörevi
backGeçmiş (history) listesinden önceki URL'i yükler.
forwardGeçmiş (history) listesinden bir sonraki URL'i yükler.
goGeçmiş (history) listesinden bir URL yükler.

History nesnesiyle ilişkili örnekler


1)
history.go(-3)

Kullanıcının aktif web sayfasından üç adım öncesinin URL'ine gider.

2)
window2.history.back()

window2 adlı pencereyi, kendi history'si içinde bir adım öncesine götürür.

3)
parent.frames[1].history.back()
Bu örnekte bir çerçeve kümesi içindeki frame1 adlı çerçeve içinde kendi history'sinin bir adım öncesine gidilir.


4) Aşağıdaki kod ile history listesinin ilk elemanının NETSCAPE olup olmadığı kontrol ediliyor. Bu eleman NETSCAPE ise fonk1 adlı fonksiyon çağrılacaktır.
if (history[0].indexOf("NETSCAPE") != -1) {
   fonk1(history[0])
}


5) Aşağıdaki kod ise tüm history listesini döküyor:
document.writeln("<B>history listesi:</B> " + history)


History nesnesinin back metodu: Örnek JavaScript kodu


<HTML>
<HEAD>
<TITLE>HISTORY ÖRNEĞİ</TITLE>
</HEAD>
<BODY BGCOLOR="lightgreen" TEXT="darkred"><CENTER>
<FONT FACE="Comic Sans MS">
<FORM>
<INPUT type = "button" value = "BİR ÖNCEKİ" onClick = "history.back()")
</FORM>
</BODY>
</HTML>

History nesnesinin back metodu: Örnek JavaScript kodunun çıktısı



Yukardaki kod çalıştırılınca gelen sayfada BİR ÖNCEKİ düğmesine tıklarsanız, aktif sayfadan bir önce erişilmiş olan web sayfasına ulaşırsınız.

Math Nesnesine Ait Metotlar

Math nesnesi çeşitli matematiksel işlemlerle ilişkili olarak zengin bir metotlar kümesi sunmaktadır. Aşağıdaki tabloda Math nesnesi ile ilişkili metotlar görülmektedir:

MetotGörevi
absBir sayının mutlak değerini gönderir
acosBir sayının arkkosinüsünü (arc cos) gönderir.
asinBir sayının arksinüsünü (arc sin) gönderir.
atanBir sayının arktanjantını (arc tan) gönderir.
Ceil(sayı)Sayıdan büyük ya da ona eşit en küçük tam sayıyı gönderir.
cosSayının kosinüsünü gönderir.
evalBir string ifade içindeki matematiksel işlemi sonuçlandırır. Örneğin “3*4”ün sonucunu bulur.
expex fonksiyonunu hesaplar.
Floor(sayı)Sayının kendisinden küçük ya da sayıya eşit en büyük tam sayıyı bulur.
isNaNArgümanı olan değerin bir sayı olup olmadığını bulur.
logBir sayının tabii logaritmasını (e tabanına göre logaritma) hesaplar.
maxİki sayıdan büyük olanını gönderir.
minİki sayıdan küçük olanını gönderir.
pow(x,y)xy’yi gönderir.
randomBir rastgele sayı gönderir.
roundEn yakın tam sayı değere yuvarlatılmış bir sayı gönderir.
sinBir sayının sinüsünü gönderir.
sqrtBir sayının kare kökünü gönderir.
tanBir sayının tanjantını gönderir.

String Nesnesine Ait Metotlar

Aşağıdaki tabloda string nesnesi için geçerli olan metotlar sunulmaktadır:

Metotİşlevi
anchorİsimlendirilmiş bir anchor (çapa) hazırlar. Bu bilindiği gibi gerçekte bir hipermetin (hypertext) hedefidir.
bigMetni büyük olarak oluşturur.
blinkMetni yanar-söner hale getirir.
boldMetni kalın çizgili olarak oluşturur.
charArtBelirtilen bir pozisyondaki karakteri gönderir.
fixedMetni sabit-eğimli yazıtipi (font) şekline dönüştürür.
fontcolorYazıtipi rengini atar.
fontsizeYazıtipi büyüklüğünü belirler
IndexOf(x,y)y nci karakterden aramaya başlayarak x karakterinin string nesnesi içinde ilk rastlandığı konumu gönderir.
italicsMetni italik (eğik) biçime dönüştürür.
LastIndexOf(x,y)y nci karakterden aramaya başlayarak x karakterinin string nesnesi içinde son rastlandığı konumu gönderir.
linkBir hiperlink oluşturur.
smallMetni küçük boyuta dönüştürür.
strikeMetni üstü çizgili hale dönüştürür.
subMetni alt indis şekline dönüştürür.
substringBir stringin bir alt parçasını gönderir.
supMetni bir üst indis haline getirir.
toLowerStringBir stringi küçük harfe dönüştürür.
toUpperStringBir stringi büyük harfe dönüştürür.
writeBir pencere ya da belgeye bir metin yazar.
writelnBir pencere ya da belgeye bir metin yazar; metnin sonuna bir yeni satıra geçiş karakteri ekler.

Çeşitli string özellilk ve metotları: Örnek JavaScript kodu


<HTML>
<BODY bgColor="pink" text="darkblue">
<FONT FACE="Comic Sans MS">
<SCRIPT Language = "JavaScript">
var ad = "BERLİN ALEXANDER PLATZ"
document.write ("ad = ",ad,'<br>')
document.write ("ad.length = ",ad.length,'<br>')
document.write ("ad.bold() = ",ad.bold(),'<br>')
document.write ("ad.italics() = ",ad.italics(),'<br>')
document.write ("ad.charAt(11) = ",ad.charAt(11),'<br>')
document.write ("ad.toLowerCase() = ",ad.toLowerCase(),'<br>')
document.write ("ad.toUpperCase() = ",ad.toUpperCase(),'<br>')
</SCRIPT>
</FONT>
</BODY>
</HTML>


Kullanıcı Arayüzü Metotları


Kullanıcı ile çeşitli tipte mesaj kutuları aracılığıyla haberleşmeyi sağlayan metotlardır. Aşağıdaki tabloda bu metotlardan en önemlileri verilmiştir:

MetotGörevi
alertOK düğmesi içeren bir mesaj kutusu görüntüler.
confirmYes ve No düğmelerini içeren bir mesaj kutusu görüntüler.
promptKullanıcıyı bir sonraki giriş için uyaran bir mesaj kutusu görüntüler.

Window Metotları

Web tarayıcı penceresiyle etkileşimli olarak çalışmak istediğiniz takdirde kullanabileceğiniz Window metotları tabloda listelenmiştir:

MetotGörevi
clearPencereyi siler.
clearTimeoutSetTimeout metodu ile önceden oluşturulan zamanlayıcıyı (timer) siler.
closePencereyi kapatır.
openBir pencere ya da belgeyi açar.
setTimeoutZamanlayıcıya ilk değer ataması işlemini gerçekleştirir.

setTimeout ve clearTimeout Metotlarının Kullanımı

Aşağıda, basit bir canlandırma örneğini inceleyebilirsiniz:

<html>
    <head>
        <title>CANLANDIRMA ÖRNEĞİ</title>
    </head>
    <body BGCOLOR="lightgreen" TEXT="darkred"><center>
        <font FACE="Comic Sans MS">
        <script LANGUAGE="JScript">
            var sayac=1;
            /* bir dizi oluştur ve gif türü dosya adlarını buna yükle
            her gif türü dosya adı 1-6 arasındaa rakamlardan oluşuyor.
            */
            resim=["1","2","3","4"];
            dizi = new Array();
            for (i=1;i<7;i++){
                dizi[i]=new Image();
                dizi[i].src= i + ".jpg";
            }
            function basla(){
                // 6 çevrim sonra sayacı tekrar 1 yap
                if (sayac == 6 )
                    sayac = 1;
                else
                    sayac ++;
                document.resim.src=dizi[sayac].src;
                /* aşağıdaki fonksiyon basla fonksiyonunu her 80 ms. de bir çağırır
                */
                sdur=setTimeout("basla()",80);
            }
            function dur(){
                clearTimeout(sdur);
                // başlangıç resmini ata
                document.resim.src=dizi[1].src;
            }
        </script>
        <p><b>BASİT BİR CANLANDIRMA</b>
        <p><img SRC="1.gif" WIDTH="200" NAME="resim" HEIGHT="80" BORDER="2" ALIGN="bottom">
        <form>
            <input TYPE="button" NAME="button1" value="BASLA" onClick="basla()">
            <input TYPE="button" NAME="button2" value="SON" onClick="dur()" CHECKED>
        </form>
    </body>
</html>

BASLA düğmesine tıkladığınızda resimler hızlıca değişmeye başlayacaktır. SON düğmesine tıkladığınızda ise dur fonksiyonuna ilk resmin atanmasından dolayı dizi içerisindeki ilk resimde duracaktır.



Yorumlar

Bu blogdaki popüler yayınlar

İç İçe Döngüler

CSS Bir Elemanın Genişliği ve Yüksekliği

JavaScript Dilinde Fonksiyon Çağırma Teknikleri