Alıntı

JQuery ve Javascript

Sahipleri : Yusuf Boyacıgil
Günümüzde hemen hemen tüm web sayfalarında kullanılan JQuery javascript kütüphanesi HTML dokümanındaki ögelere erişmek, bu ögelerle olan etkileşimi programlamak (event handling), animasyon, ajax ile interaktif veri alış-verişi sağlamayı hızlı ve kolay bir şekilde yapmanızı mümkün kılıyor
Web 2.0 web uygulamaları için yeni bir dönem başlattı. Web sayfalarının daha interaktif olmasını ve web tarayıcısı tarafında javascript’in daha çok kullanılmasını sağladı. Böylece web uygulamaları daha çok masaüstü uygulamalarına benzemeye başladı. İşte bu değişim neredeyse web’in başlangıcından beri var olan javascript’i daha önemli kıldı ve harika javascript kütüphanelerinin oluşturulmasını sağladı. JQuery bu kütüphanelerden biri ve sanırım en çok kullanılanı.
Günümüzde hemen hemen tüm web sayfalarında kullanılan JQuery javascript kütüphanesi HTML dokümanındaki ögelere erişmek, bu ögelerle olan etkileşimi programlamak (event handling), animasyon, ajax ile interaktif veri alış-verişi sağlamayı hızlı ve kolay bir şekilde yapmanızı mümkün kılıyor.
JQuery’nin yetenekleri, ne yaptığı ayrı bir yazı konusudur ve hem ingilizce hem de türkçe güzel dokümante edilmiştir. Ben bu yazıda JQuery’nin kodunu ve JQuery’de yazılmış plugin’leri incelerken karşılaştığım bana “Nasıl ya?!!” dedirten sonradan araştırıp bulduğum birkaç konuyu başkaları da benim gibi kasmasın diye anlatmak istiyorum.
Öncelikle şu meşhur $ dan bahsedelim. $ veya jQuery JQuery script’i yüklendikten sonra kendi yazacağınız script kodundan erişilebilir; global değişkendir.
$(a).click(function(event){
    alert('Linke tiklandigini bu sekilde anlayabilirsiniz...')
});
Yukarıdaki örnekte $(a) yerine jQuery(a) da yazabiliriz. Bu ifadelerden herhangi birisini yazdığımızda bir JQuery objesi yaratmış oluruz ve JQuery’nin sağladığı tüm fonksiyonlara bu obje üzerinden erişebiliriz.
JQuery aynı zamanda genişletilebilir bir yapıya sahip. Yani siz yeni eklentiler (plugin) yazabilirsiniz. JQuery’nin eklenti geliştirme ile ilgili dokümanlarında şöyle ilginç bir ifade görmüştüm:
jQuery.fn.myPlugin = function() {
    // plugin kodu
};
Buradaki fn in ne demek olduğu kolay bir şekilde anlaşılmıyor. Biraz araştırdıktan sonra javascript’in tüm nesneleri anında değiştirmek için var olan prototype özelliğine bir kısayol olarak jQuery objesinde tanımlanmış bir değişken olduğu gördüm.
Bir tane daha ilginç örnek verip bitirmek istiyorum. Aşağıdaki javascript koduna bir bakalım:
(function($) {
    // kod
})(jQuery);
Burada bir javascript fonksiyonu tanımı var onu anlayabiliyoruz ama hemen arkasındaki parantez içersindeki jQuery ifadesi de ne demek oluyor? Bunun da detayda javascript’te var olan bir özellikle alakalı olduğu hatta bunun isminin “immediate/interactive code execution” olduğunu gördüm. Yani fonksiyon tanımını yapıp hemen çalıştırma işi. Yerine:
function myFunction($) {
    // kod
};
myFunction(jQuery);
de yazabilirsiniz. Fakat burada myFunction isimli özel bir fonksiyon yaratıyorsunuz. Öncesindeki örnekte yaratılan fonksiyonun ismini umurunuzda değil hatta ilk çağırmadan sonra ona bir daha erişmek gibi bir niyetiniz de yok.
Ayrıca JQuery kullanan script’lerin sayfa hazır olduğunda uygulamanızın kodunu çalıştırmak için kullanılan klasik başlangıç scripti yerine kısayol olarak kullanılabilir. Yani bunun yerine:
$(document).ready(function(){
   // uygulama kodu
});

JQuery kodunu ve yazılan eklentileri inceledikçe javascript ile ilgili daha derinlemesine bilgi sahibi olabilirsiniz. Hatta bunu açık kaynak kodlu tüm kütüphanelere uygulamanızı tavsiye ederim.
zafer.teker , 03.05.2018

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir