Özellikler (properties) ve yöntemlerden



Yüklə 287,5 Kb.
tarix23.06.2017
ölçüsü287,5 Kb.



JavaScript programlama dilinde nesneler önemli bir yer tutar. JavaScript nesneleri özellikler (properties) ve yöntemlerden oluşan bir topluluktur. Yöntem, nesnenin elemanı olan bir işlevdir. Özellik ise, nesnenin bir özniteliği (attribute) olarak bilinir. Özellikler, nesnenin boyutu, rengi, ekrandaki konumu ve bunun gibi nitelikler olarak bilinir.

  • JavaScript programlama dilinde nesneler önemli bir yer tutar. JavaScript nesneleri özellikler (properties) ve yöntemlerden oluşan bir topluluktur. Yöntem, nesnenin elemanı olan bir işlevdir. Özellik ise, nesnenin bir özniteliği (attribute) olarak bilinir. Özellikler, nesnenin boyutu, rengi, ekrandaki konumu ve bunun gibi nitelikler olarak bilinir.



Bir nesnenin her bir özelliği için, döngü içinde belirlenen deyimlerin çalıştırılmasını sağlar. Bu deyim şu şekilde tanımlanıyor :

  • Bir nesnenin her bir özelliği için, döngü içinde belirlenen deyimlerin çalıştırılmasını sağlar. Bu deyim şu şekilde tanımlanıyor :

  • for (değişken in nesne ) { deyimler

  • }

  • değişken: Her bir özellik için ardışık işlem görecek değişken

  • nesne: Özellikleri kullanılacak nesnenin adı deyimler Her bir özellik için işlem görecek deyimler



Örnek: Bir dizinin içini O ile 9 arasındaki rakamlarla dolduran ve daha sonra bu dizi elemanlarını görüntüleyen bir program yazalım

  • Örnek: Bir dizinin içini O ile 9 arasındaki rakamlarla dolduran ve daha sonra bu dizi elemanlarını görüntüleyen bir program yazalım





O anda üzerinde çalışılmakta olan nesneyi belirtmek üzere This deyiminden yararlanılabilir. Bu deyim, nesne özelliklerinin tanımlanması esnasında, nesne adının belirtilmeden kullanılmasında yararlı olacaktır. Söz konusu deyim aşağıda belirtildiği biçimde tanımlanmaktadır:

  • O anda üzerinde çalışılmakta olan nesneyi belirtmek üzere This deyiminden yararlanılabilir. Bu deyim, nesne özelliklerinin tanımlanması esnasında, nesne adının belirtilmeden kullanılmasında yararlı olacaktır. Söz konusu deyim aşağıda belirtildiği biçimde tanımlanmaktadır:

  • this.özellik



Örnek: Bir otomobil nesnesinin tanımlandığını varsayalım. Otomobil nesnesinin renk, motor ve model gibi özellikleri bulunabilir. Bu nesnenin özelliklerini bir işlev içinde aşağıda gösterildiği biçimde tanımlayabiliriz.

  • Örnek: Bir otomobil nesnesinin tanımlandığını varsayalım. Otomobil nesnesinin renk, motor ve model gibi özellikleri bulunabilir. Bu nesnenin özelliklerini bir işlev içinde aşağıda gösterildiği biçimde tanımlayabiliriz.

  • function otomobil(renk, motor, model){

  • this.renk = renk;

  • this.motor =motor;

  • this.model = model;



Varsayılan bir nesne üzerinde uygulanacak deyim gruplarını belirlemek üzere With deyiminden yararlanılabilir. Bu deyim aşağıda belirtildiği biçimde tanımlanır:

  • Varsayılan bir nesne üzerinde uygulanacak deyim gruplarını belirlemek üzere With deyiminden yararlanılabilir. Bu deyim aşağıda belirtildiği biçimde tanımlanır:

  • with (nesne)-f deyimler

  • }

  • nesne: Deyimlerin uygulanacağı nesne

  • deyimler: Söz konusu nesne için geçerli olacak deyimler



Örnek: üç ayrı işlem için Math nesnesinin kullanılması gerektiğini varsayalım. Bu üç işlem için söz konusu nesneyi ayrı ayrı tanımlamak yerine, With deyimi ile aşağıda gösterildiği biçimde tanımlayabiliriz.

  • Örnek: üç ayrı işlem için Math nesnesinin kullanılması gerektiğini varsayalım. Bu üç işlem için söz konusu nesneyi ayrı ayrı tanımlamak yerine, With deyimi ile aşağıda gösterildiği biçimde tanımlayabiliriz.

  • var x, y, z

  • var r=10 with (Math) {

  • x = pi * r * r

  • y = r * cos(pi)

  • z = r * sin(pi/2)



Nesneyi yaratan işlev hakkında bilgi edinilmek söz konusu ise, nesnelerin constructor özelliğinden yararlanılır. Bu özellik, hem nesneyi yaratan işlev, hem de nesne özelliklerinin neler olduğu hakkında bilgi sağlar. Söz konusu özellik aşağıda gösterildiği biçimde kullanılır:

  • Nesneyi yaratan işlev hakkında bilgi edinilmek söz konusu ise, nesnelerin constructor özelliğinden yararlanılır. Bu özellik, hem nesneyi yaratan işlev, hem de nesne özelliklerinin neler olduğu hakkında bilgi sağlar. Söz konusu özellik aşağıda gösterildiği biçimde kullanılır:

  • nesne.constructor

  • Bu özellik kullanıcı tarafından yaratılan nesnelere uygulanabileceği gibi, hazır nesnelere de uygulanabilir.



Örnek: müşteri adındaki bir nesneyi göz önüne alarak, hangi işlev tarafından yaratıldığını ve özelliklerinin neler olduğunu listelemek istiyoruz.

  • Örnek: müşteri adındaki bir nesneyi göz önüne alarak, hangi işlev tarafından yaratıldığını ve özelliklerinin neler olduğunu listelemek istiyoruz.





JavaScript programcılara iki tür nesne tanımlama olanağı sunar. Bunlardan birincisi, programcının kendi yarattığı nesnelerdir. İşlevler yardımıyla bu tür nesneler tanımlanır. Bir di­ğer nesne türü ise, JavaScript tarafından hazır olarak sunulan nesnelerdir. Bu tür nesneler sistemin yerleşik nesneleridir ve doğrudan doğruya tanımlanarak kullanılır.

  • JavaScript programcılara iki tür nesne tanımlama olanağı sunar. Bunlardan birincisi, programcının kendi yarattığı nesnelerdir. İşlevler yardımıyla bu tür nesneler tanımlanır. Bir di­ğer nesne türü ise, JavaScript tarafından hazır olarak sunulan nesnelerdir. Bu tür nesneler sistemin yerleşik nesneleridir ve doğrudan doğruya tanımlanarak kullanılır.



Kullanıcı tarafından yaratılan nesnelere yeni bir özelliğin nasıl ilave edilebileceğini ncelemiştik. Eğer hazır bir Javascript nesnesi söz konusu ise bu kez daha farklı bir yol izlenebilir. Böyle bir amaca ulaşabilmek için prototype özelliğinden yararlanılabilir. Söz konusu özellik şu şekilde kullanılır:

  • Kullanıcı tarafından yaratılan nesnelere yeni bir özelliğin nasıl ilave edilebileceğini ncelemiştik. Eğer hazır bir Javascript nesnesi söz konusu ise bu kez daha farklı bir yol izlenebilir. Böyle bir amaca ulaşabilmek için prototype özelliğinden yararlanılabilir. Söz konusu özellik şu şekilde kullanılır:

  • nesne adı.prototype

  • Program içinde nesneye verilen isim ile birlikte bu özellik kullanılır.



Örnek: Dizi nesnesine yeni bir özellik eklemek istiyoruz. Bu özellik, nesnenin içerdiği elemanların en büyüğünün elde edilmesi üzerinedir. Yani nesneye bu özelliği bir kez kazandırdıktan sonra, söz konusu özellik ile programın herhangi bir yerinde nesne elemanlarının sayısını doğrudan öğrenmek mümkün olacaktır.

  • Örnek: Dizi nesnesine yeni bir özellik eklemek istiyoruz. Bu özellik, nesnenin içerdiği elemanların en büyüğünün elde edilmesi üzerinedir. Yani nesneye bu özelliği bir kez kazandırdıktan sonra, söz konusu özellik ile programın herhangi bir yerinde nesne elemanlarının sayısını doğrudan öğrenmek mümkün olacaktır.





Javascript’ de dizileri kullanmak gerektiğinde array nesnesine başvurulur. Diziler, değişkenlerden farklıdır. Değişken sadece bir değeri saklayabilen bir ortamdır. Örneğin, adi = “Burak” biçiminde bir değişken tanımlandığında, adi değişkeni program boyunca sadece bir değeri taşıyacaktır. Buna karşılık, diziler birden fazla değer taşıyan nesneler olarak değerlendirilir. Örneğin, adi isimli bir nesne birden fazla “Burak”, “Begüm”, “Dilay” gibi elemanlara sahip olabilir.

  • Javascript’ de dizileri kullanmak gerektiğinde array nesnesine başvurulur. Diziler, değişkenlerden farklıdır. Değişken sadece bir değeri saklayabilen bir ortamdır. Örneğin, adi = “Burak” biçiminde bir değişken tanımlandığında, adi değişkeni program boyunca sadece bir değeri taşıyacaktır. Buna karşılık, diziler birden fazla değer taşıyan nesneler olarak değerlendirilir. Örneğin, adi isimli bir nesne birden fazla “Burak”, “Begüm”, “Dilay” gibi elemanlara sahip olabilir.



Bu tür bir özelliğe sahip olduğu için array nesnesi programlarda sıkça kullanılır. Bu nesne aşağıda gösterildiği biçimlerde kullanılabilir:

  • Bu tür bir özelliğe sahip olduğu için array nesnesi programlarda sıkça kullanılır. Bu nesne aşağıda gösterildiği biçimlerde kullanılabilir:

  • nesne = new Array()

  • nesne = new Arrav([boyut])

  • nesne = new Array(eleman0. eleman1,..,])

  • nesne Dizi nesnesinin adı

  • boyut Dizinin içerdiği eleman sayısı. Dizinin boyutu

  • eleman 0, eleman 1,.., Dizi elemanları. Dizi elemanları sıfırdan başlayarak numaralandırılır



Yeni bir dizinin tanımlanması için new Array () tanımı yapılabilir. Ancak dizi nesnesini daha kısa biçimde de yaratabiliriz. Bunun için aşağıda gösterilen tanım kullanılabilir:

  • Yeni bir dizinin tanımlanması için new Array () tanımı yapılabilir. Ancak dizi nesnesini daha kısa biçimde de yaratabiliriz. Bunun için aşağıda gösterilen tanım kullanılabilir:

  • nesne = [elemanO, elemanı,..,]

  • Bunun anlamı, nesne elemanlarını köşeli parantezler içine yerleştirerek program içinde tanımlayabiliriz.

  • Örnek: İsimlerden oluşan bir dizi yaratarak, bu diziyi tarayıcı penceresinde görüntüleyeceğiz.





Diziye değer yerleştirme işlemi, dizi boş olarak yaratıldıktan sonra da tek tek yapılabilir.

  • Diziye değer yerleştirme işlemi, dizi boş olarak yaratıldıktan sonra da tek tek yapılabilir.



Bir dizinin içerdiği tüm elemanları birleştirerek, bir dizgi içine yerleştirmek mümkündür. Bunun için dizi nesnesinin join yönteminden yararlanılır. Bu yöntem aşağıda görüldüğü biçimde tanımlanır:

  • Bir dizinin içerdiği tüm elemanları birleştirerek, bir dizgi içine yerleştirmek mümkündür. Bunun için dizi nesnesinin join yönteminden yararlanılır. Bu yöntem aşağıda görüldüğü biçimde tanımlanır:

  • dizi.join("ayıraç ")

  • dizi :Dizi olarak tanımlanmış nesnenin adı

  • Ayıraç :Dizi elemanlarının birleştirilmesi esnasında kullanılacak ayıraç. Eğer herhangi bir tanım yapılmaz ise, virgül işaretinin tanımlandığı varsayılır



Dizi elemanlarını birleştirerek yeni bir dizinin içine yerleştirmenin bir başka yolu daha bulunmaktadır. Böyle bir işlem valueOf () yöntemi yardımıyla yerine getirilir. Bu yöntem ayıraç seçilmesine izin vermez. Ayıraç olarak kendisi virgül işaretini kullanır

  • Dizi elemanlarını birleştirerek yeni bir dizinin içine yerleştirmenin bir başka yolu daha bulunmaktadır. Böyle bir işlem valueOf () yöntemi yardımıyla yerine getirilir. Bu yöntem ayıraç seçilmesine izin vermez. Ayıraç olarak kendisi virgül işaretini kullanır

  • dizi.valueOf()



Yukarıda anlatılanların bir benzeri toString() yöntemi yardımıyla yerine getirilebilir. Bu işlev, bir dizinin içerdiği değerleri dizgi değere dönüştürdükten sonra, aralarına virgül yerleştirir ve tek bir dizgi değer olarak belirler. Söz konusu yöntem şu şekilde tanımlanır:

  • Yukarıda anlatılanların bir benzeri toString() yöntemi yardımıyla yerine getirilebilir. Bu işlev, bir dizinin içerdiği değerleri dizgi değere dönüştürdükten sonra, aralarına virgül yerleştirir ve tek bir dizgi değer olarak belirler. Söz konusu yöntem şu şekilde tanımlanır:

  • dizi.toString()



isimler dizisinin içerdiği tüm elemanları, aralarına (-) işaretini yerleştirerek birleştiren programı yazalım…

  • isimler dizisinin içerdiği tüm elemanları, aralarına (-) işaretini yerleştirerek birleştiren programı yazalım…



Aynı programı bu kez valueOf () yöntemiyle yapalım…

  • Aynı programı bu kez valueOf () yöntemiyle yapalım…



Dizi elemanlarının join yöntemi ile nasıl birleştirilebileceğini gördük. Bu kez iki diziyi birleştirerek yeni bir dizinin elde edilmesi olgusu üzerinde duracağız. Böyle bir sonuca ulaşabilmek için concat yönteminden yararlanılır. Bu yöntem şu şekilde tanımlanır:

  • Dizi elemanlarının join yöntemi ile nasıl birleştirilebileceğini gördük. Bu kez iki diziyi birleştirerek yeni bir dizinin elde edilmesi olgusu üzerinde duracağız. Böyle bir sonuca ulaşabilmek için concat yönteminden yararlanılır. Bu yöntem şu şekilde tanımlanır:

  • Dizi 1.concat(diğer dizi veva eleman)

  • Bu tanımdan şu anlaşılmaktadır: İki dizi birleştirilebileceği gibi, daha fazla sayıda dizi ya da dizi elemanları birleştirilebilir



isimler ve öğrenciler dizilerinin içerdiği değerleri biraya getirerek tum_personel isimli yeni bir dizi yaratalım…

  • isimler ve öğrenciler dizilerinin içerdiği değerleri biraya getirerek tum_personel isimli yeni bir dizi yaratalım…



Bir dizinin içerdiği elemanları sıralamak söz konusu olabilir. Bunun için sort yöntemi kullanılabilir.

  • Bir dizinin içerdiği elemanları sıralamak söz konusu olabilir. Bunun için sort yöntemi kullanılabilir.

  • dizi.sort(sıralama işlevi)

  • Parantez içinde herhangi bir şey tanımlanmaz ise, sıralamanın artan sırada olduğu varsayılır. Eğer farklı bir sıra söz konusu ise bu işlev içinde tanımlanır.



Bir dizinin 5,1,7,9,11,0,9 elemanlarını içerdiğini varsayalım. Bu dizinin elemanlarını sıralayarak görüntüleyelim…

  • Bir dizinin 5,1,7,9,11,0,9 elemanlarını içerdiğini varsayalım. Bu dizinin elemanlarını sıralayarak görüntüleyelim…







Bir dizinin içeriğinin transpozesini elde etmek için reverse() yönteminden yararlanılır. Bu yöntem, dizinin ilk elemanını en son, sondaki elemanını ise birinci eleman haline getirir. Bu yöntem aşağıda gösterildiği biçimde kullanılır:

  • Bir dizinin içeriğinin transpozesini elde etmek için reverse() yönteminden yararlanılır. Bu yöntem, dizinin ilk elemanını en son, sondaki elemanını ise birinci eleman haline getirir. Bu yöntem aşağıda gösterildiği biçimde kullanılır:

  • dizi .reverse()



Bir dizinin 5,1,7,9,11,0,9 elemanlarını içerdiğini varsayalım. Bu dizinin transpozesini elde edelim…

  • Bir dizinin 5,1,7,9,11,0,9 elemanlarını içerdiğini varsayalım. Bu dizinin transpozesini elde edelim…



Bir dizinin içerdiği elemanların sayısını elde etmek mümkündür. Bunun için dizi nesnesinin length özelliğinden yararlanılır. Söz konusu özellik şu şekilde kullanılır:

  • Bir dizinin içerdiği elemanların sayısını elde etmek mümkündür. Bunun için dizi nesnesinin length özelliğinden yararlanılır. Söz konusu özellik şu şekilde kullanılır:

  • dizi.length



iki farklı dizinin eleman sayılarını bulalım…

  • iki farklı dizinin eleman sayılarını bulalım…



Bir dizinin ilk elemanını ya da son elemanını silmek mümkündür. Bunun için pop() ve shift () yöntemlerinden yararlanılır. Shift () yöntemi dizinin birinci elemanını yok eder. Buna karşılık, pop() yöntemi dizinin en sondaki elemanını siler. Söz konusu deyimler aşağıda gösterildiği biçimde tanımlanır:

  • Bir dizinin ilk elemanını ya da son elemanını silmek mümkündür. Bunun için pop() ve shift () yöntemlerinden yararlanılır. Shift () yöntemi dizinin birinci elemanını yok eder. Buna karşılık, pop() yöntemi dizinin en sondaki elemanını siler. Söz konusu deyimler aşağıda gösterildiği biçimde tanımlanır:

  • nesne.shift ()

  • nesne.pop()

  • Dizinin içerdiği ilk ve son elemanların silinmesiyle ilgili bu iki yöntemin Netscape 3.0 ve Internet Explorer 5.5 den itibaren kullanılabildiğini göz önünde tutmak gerekiyor.



isimler dizininin beş eleman içerdiğini biliyoruz. Bu dizinin birinci elemanını yok edelim…

  • isimler dizininin beş eleman içerdiğini biliyoruz. Bu dizinin birinci elemanını yok edelim…



Bu kez dizinin son elemanını yok edelim…

  • Bu kez dizinin son elemanını yok edelim…



  • Bir diziye belirli bir konumda bir elemanın eklenmesi ya da bir elemanının yok edilmesi söz konusu olduğunda splice() yönteminden yararlanılır.

  • dizi.splice(başlama, silinecek eleman sayısı, [eklenecek elemanlar])

  • Bu deyimin Netscape 3.0 ve Internet Explorer 5.5 ‘den itibaren kullanılabildiğini göz önünde tutmak gerekiyor.



isimler dizisinin 3. ve 4. elemanları arasında “Onur” isimli bir eleman ekleyelim…

  • isimler dizisinin 3. ve 4. elemanları arasında “Onur” isimli bir eleman ekleyelim…



Bu kez, dizinin 2. elemanından sonraki elemanını yok edip ve “Onur” ile “Hatice” elemanlarını diziye bu konumdan itibaren ekleyelim...

  • Bu kez, dizinin 2. elemanından sonraki elemanını yok edip ve “Onur” ile “Hatice” elemanlarını diziye bu konumdan itibaren ekleyelim...



Bir dizinin sonuna belirli elemanları ekleme amacıyla push() yönteminden yararlanılır. Bu yöntem, yeni dizinin eleman sayısını döndürür. Yöntem şu şekilde tanımlanmaktadır:

  • Bir dizinin sonuna belirli elemanları ekleme amacıyla push() yönteminden yararlanılır. Bu yöntem, yeni dizinin eleman sayısını döndürür. Yöntem şu şekilde tanımlanmaktadır:

  • dizi.push(yeni elemanlar)

  • Bu deyimin Netscape 3.0 ve Internet Explorer 5.5 ‘den itibaren kullanılabildiğini göz önünde tutmak gerekiyor.



isimler dizisinin sonuna “Onur” ve “Hatice” elemanlarını ekleyelim…

  • isimler dizisinin sonuna “Onur” ve “Hatice” elemanlarını ekleyelim…



Dizinin sonuna eleman eklemek için push() yöntemini kullanıyoruz. Ancak dizinin başına belirlenen elemanların eklenmesi söz konusu ise unshift() yöntemi kullanılır. Söz konusu yöntem şu şekilde tanımlanır:

  • Dizinin sonuna eleman eklemek için push() yöntemini kullanıyoruz. Ancak dizinin başına belirlenen elemanların eklenmesi söz konusu ise unshift() yöntemi kullanılır. Söz konusu yöntem şu şekilde tanımlanır:

  • dizi.unshift(yeni elemanlar)

  • Bu deyimin Netscape 3.0 ve Internet Explorer 5.5 ‘den itibaren kullanılabildiğini göz önünde tutmak gerekiyor.





Bir dizinin belirli bir bölümünü kullanarak yeni bir dizi oluşturulabilir. Böyle bir amaç için slice() yönteminden yararlanılır. Bu yöntem şu şekilde tanımlanır:

  • Bir dizinin belirli bir bölümünü kullanarak yeni bir dizi oluşturulabilir. Böyle bir amaç için slice() yönteminden yararlanılır. Bu yöntem şu şekilde tanımlanır:

  • dizi.slice(başlama, [son])

  • dizi: Dizinin adı

  • Başlama: Bu diziden alınacak elemanların başlama konumu

  • Son: Bu diziden alınacak elemanların bitiş konumu. Tanımlanması zorunlu değildir



Bu yöntem, elemanları sıfırdan başlamak üzere numaralandırır. Yeni dizi başlama konumundan itibaren son konuma kadar olan elemanlardan elde edilir. Ancak son konumdaki eleman dahil edilmez. Bazı durumlarda başlama ya da son konumları negatif bir sayısal değer ile ifade edilebilir. Eger başlama değeri negatif ise, dizinin uzunluğu ile bu sayısal değer toplanarak yeni başlangıç noktası elde edilir. Benzer biçimde, son konumu negatif bir sayısal değer ile ifade ediliyorsa, dizinin uzunluğu ile bu değer toplanarak yeni son konum bilgisi elde edilir.

  • Bu yöntem, elemanları sıfırdan başlamak üzere numaralandırır. Yeni dizi başlama konumundan itibaren son konuma kadar olan elemanlardan elde edilir. Ancak son konumdaki eleman dahil edilmez. Bazı durumlarda başlama ya da son konumları negatif bir sayısal değer ile ifade edilebilir. Eger başlama değeri negatif ise, dizinin uzunluğu ile bu sayısal değer toplanarak yeni başlangıç noktası elde edilir. Benzer biçimde, son konumu negatif bir sayısal değer ile ifade ediliyorsa, dizinin uzunluğu ile bu değer toplanarak yeni son konum bilgisi elde edilir.



İsimlerden oluşan isimler dizisinin 2. ve 3. elemanlarından yeni bir dizi oluşturalım…

  • İsimlerden oluşan isimler dizisinin 2. ve 3. elemanlarından yeni bir dizi oluşturalım…




Yüklə 287,5 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2020
rəhbərliyinə müraciət

    Ana səhifə