Kategoriler

Hangisi daha hızlı? ($().data(xx) ve $.data(xx))

5 yorum

Bildiğiniz gibi data değerlerini almak için .data() metodunu kullanıyoruz. Ancak performans olarak değerlendirdiğimizde aslında $.data() fonksiyon metodunu kullanmak daha avantajlı.

Arasındaki kullanım farkını görmek gerekirse;

.data() için;

// değeri almak
$('.test').data('xxx');

// değer atamak
$('.test').data('xxx', 'yeni değer');

$.data() için;

// değeri almak
$.data('.test', 'xxx');

// değer atamak
$.data('.test', 'xxx', 'yeni değer')

Performans testi için aşağıdaki demoya bakabilirsiniz;

See the Pen Data Performance by heehee (@heehee) on CodePen.

Ancak öte yandan şöyle bir gerçek var ki, .attr() metodu her ikisinden de daha hızlı. Bu yüzden neden bu metodlar var diye insan sorgulamadan edemiyor 😀

.attr() için;

// değeri almak
$('.test').attr('data-xxx');

// değer atamak
$('.test').attr('data-xxx', 'yeni değer')

Yorumlar (5)

Deniz Günday demiş ki;

Yazı için teşekkürler.

attr() varken neden bu data() metoduna ihtiyaç duyulduğundan bahsedilmiş. Gerçekten pek bilinmiyor ama neredeyse iki metodun birbiriyle hiç alakası yok. Konunun anlaşılması için ayrıntılı yorumların okunmasını tavsiye ederim:

http://boardest.com/thread/jquery-de-data-metodu-hangi-durumlarda-kullaniyoruz

nevzat demiş ki;

attr candır :D

Tayfun Erbilen demiş ki;

evet şimdi farkettim bir hata olmuş, düzelttim teşekkürler :)

caner demiş ki;

$.data() için;

demişşiniz ama altında ornek verdiğinizde $.data() gibi bi kullanım yok ?

Yusuf Berki Yazıcıoğlu demiş ki;

Bu metot diğerinden daha hızlı ama öte yandan bu metot hepsinden daha hızlı :D İyi güldüm :) Teşekkürler paylaşım için :)

Yorum Gönder