Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Makale Geçmişi

14.10.20 09:28
JavaScript Fonksiyonları: this Kullanımı
Bir önceki makalemizde nesne yapılandırırken kullanılan ve daha sonraki konumuzda da yer alacak olan  this  ifadesini biraz incelemek gerekir.  this  (bu), kullanıldığı yere ve fonksiyonun çağırılma şekline göre farklı değer içerir. Örneğin sınıf olarak tanımlanmayan fonksiyonların içinde veya dışında kullanılan  this , global nesneyi işaret eder (global nesnenin referansıdır). Global nesne, web sayfaları içinde kullanılan JavaScript için  window  nesnesidir. Farklı JavaScript uygulama ortamlarında global nesne değişebilir. Bir sınıf veya doğrudan nesne tanımı içinde kullanılan  this  ise önceki sınıf tanımlama makalemizde olduğu gibi oluşturulan nesneye işaret eder. function Sinif() { console.log(this.constructor.name); } console.log(this.constructor.name); Sinif(); var ornek = new Sinif(); Çıktısı: Window Window Sinif Örnekteki  constructor.name , bir nesnenin yapılandırıcısının adını verir. Örnekte bu yolla nesnenin hangi sınıftan türetildiğini öğreniyoruz. Çıktıdan da görüleceği gibi fonksiyon tanımından sonraki  console.log , Window şeklinde bir çıktı veriyor. Bu  this 'in Window sınıfının bir örneği olduğunu bildiriyor. Bu örnek web sayfaları içinde JavaScript programlarken kullandığımız  window  nesnesidir. Sonraki fonksiyonun doğrudan çağırılmasında ise fonksiyon içindeki  console.log(this)  de Window çıktısı veriyor. Ancak yapılandırıcı fonksiyonumuzu  new  operatörü ile çağırdığımızda yani bir nesne oluşturduğumuzda  this , oluşturulan nesneyi ifade ettiği için çıktıya nesnemizin türünü (türetildiği sınıf) belirten  Sinif  metni çıkıyor. this  ifadesi, bir olay fonksiyonunun içinde kullanıldığında olayın atandığı etiketi / nesneyi temsil eder. Örnek: function tiklama() { console.log(this.constructor.name); } document.getElementById("tus1").onclick = tiklama; tus1   id  özelliğine sahip etiketin bir input type button (tuş) olduğunu varsaydığımızda, bu tuş tıklandığında şöyle bir çıktı alırsınız: HTMLInputElement Ancak bunu fonksiyonu doğrudan etiketi tanımladığınız yerdeki  onclick  bildirimine yazarsanız  this  tuşu işaret etmez.  window  nesnesini işaret eder. Örnek: <input type="button" id="tus1" onclick="tiklama()" value="Tıkla" /> <script> function tiklama() { console.log(this.constructor.name); } </script> Çıktısı: Window Böyle bir durumda  onclick="..."  özellik tanımlamasının içinde  this  kullanırsanız bu  this  etiketi işaret eder. Bunu, olay fonksiyonunu etiket özelliği olarak bildirdiğimizde etiketin referansını fonksiyona geçmek için kullanabilirsiniz. <input type="button" id="tus1" onclick="tiklama(this)" value="Tıkla" /> <script> function tiklama(etiket) { console.log(etiket.value); console.log(etiket.constructor.name); } </script> Tuş tıklandığında görülecek çıktı: Tıkla HTMLInputElement Arrow (Ok) fonksiyonları this kullanımını desteklemez. Bu yüzden bir olay dinleyici fonksiyon olarak kullanıldıklarında fonksiyon içindeki this olaya atanan klasik fonksiyon bildirimi gibi olayın sahibi olan etikete değil global nesneye (Window) işaret eder. Örnek: <input type="text" id="ittTest" /> <script> var el = document.getElementById("ittTest"); // Klasik fonksiyon bildirimi ile olay fonksiyonu atama. el.addEventListener("click", function(ev) { console.log("111Olaya atanan fonksiyon içinden this = ", this.constructor.name); }); // Ok fonksiyonu şeklinde olay fonksiyonu atama. el.addEventListener("click", ev => { console.log("Olaya atanan ok fonksiyonu içinden this = ", this.constructor.name); }); </script> Örnekte bir etiketin click olayına bir tane klasik fonksiyon bildirimi ile bir fonksiyon, bir tane de ok fonksiyonu atanmıştır. Etiket tıklandığında atanan olayların her ikisi de ardı ardına çalıştırılacaktır. Click olayı gerçekleştiğinde klasik fonksiyon bildirimi şeklinde tanımlanan fonksiyon içindeki this, ilgili olduğu etikete işaret ettiğinden this.constructor.name ifadesi HTMLInputElement değerini verecek, ok fonksiyonu içinde ise aynı ifade Window değerini döndürecektir. Bu kadar. Eksik veya hata görürseniz lütfen bildirin. JavaScript Fonksiyonları ile İlgili Makaleler: JavaScript Fonksiyonları: Temel Kullanım JavaScript Fonksiyonları: Fonksiyonun Kendini Çağırması (Recursion) JavaScript Fonksiyonları: Fonksiyon İfadeler - Function Expressions JavaScript Fonksiyonları: Kapsanımlar - Closures Javascript Fonksiyonları: Yerinde Çalıştırılan İsimsiz Fonksiyonlar JavaScript Fonksiyonları: Nesne İçinde Fonksiyon - Metotlar JavaScript Fonksiyonları: Nesne Yapılandırıcısı Olarak Fonksiyon Kullanma JavaScript Fonksiyonları: this Kullanımı  (Bu makale) JavaScript Fonksiyonlari: arguments Nesnesi JavaScript Fonksiyonları: rest Parametreleri JavaScript Fonksiyonları: Function Yapılandırıcısı JavaScript Fonksiyonları: getter ve setter Fonksiyonlar JavaScript Fonksiyonları: Arrow (ok) Fonksiyonları JavaScript Fonksiyonları: Üretici Fonksiyonlar - Generator Functions
Ekleyen: canora
Değiştiren: canora
27.06.16 00:45
JavaScript Fonksiyonları: this Kullanımı
Bir önceki makalemizde nesne yapılandırırken kullanılan ve daha sonraki konumuzda da yer alacak olan  this  ifadesini biraz incelemek gerekir.  this  (bu), kullanıldığı yere ve fonksiyonun çağırılma şekline göre farklı değer içerir. Örneğin sınıf olarak tanımlanmayan fonksiyonların içinde veya dışında kullanılan  this , global nesneyi işaret eder (global nesnenin referansıdır). Global nesne, web sayfaları içinde kullanılan JavaScript için  window  nesnesidir. Farklı JavaScript uygulama ortamlarında global nesne değişebilir. Bir sınıf veya doğrudan nesne tanımı içinde kullanılan  this  ise önceki sınıf tanımlama makalemizde olduğu gibi oluşturulan nesneye işaret eder. function Sinif() { console.log(this.constructor.name); } console.log(this.constructor.name); Sinif(); var ornek = new Sinif(); Çıktısı: Window Window Sinif Örnekteki  constructor.name , bir nesnenin yapılandırıcısının adını verir. Örnekte bu yolla nesnenin hangi sınıftan türetildiğini öğreniyoruz. Çıktıdan da görüleceği gibi fonksiyon tanımından sonraki  console.log , Window şeklinde bir çıktı veriyor. Bu  this 'in Window sınıfının bir örneği olduğunu bildiriyor. Bu örnek web sayfaları içinde JavaScript programlarken kullandığımız  window  nesnesidir. Sonraki fonksiyonun doğrudan çağırılmasında ise fonksiyon içindeki  console.log(this)  de Window çıktısı veriyor. Ancak yapılandırıcı fonksiyonumuzu  new  operatörü ile çağırdığımızda yani bir nesne oluşturduğumuzda  this , oluşturulan nesneyi ifade ettiği için çıktıya nesnemizin türünü (türetildiği sınıf) belirten  Sinif  metni çıkıyor. this  ifadesi, bir olay fonksiyonunun içinde kullanıldığında olayın atandığı etiketi / nesneyi temsil eder. Örnek: function tiklama() { console.log(this.constructor.name); } document.getElementById("tus1").onclick = tiklama; tus1   id  özelliğine sahip etiketin bir input type button (tuş) olduğunu varsaydığımızda, bu tuş tıklandığında şöyle bir çıktı alırsınız: HTMLInputElement Ancak bunu fonksiyonu doğrudan etiketi tanımladığınız yerdeki  onclick  bildirimine yazarsanız  this  tuşu işaret etmez.  window  nesnesini işaret eder. Örnek: <input type="button" id="tus1" onclick="tiklama()" value="Tıkla" /> <script> function tiklama() { console.log(this.constructor.name); } </script> Çıktısı: Window Böyle bir durumda  onclick="..."  özellik tanımlamasının içinde  this  kullanırsanız bu  this  etiketi işaret eder. Bunu, olay fonksiyonunu etiket özelliği olarak bildirdiğimizde etiketin referansını fonksiyona geçmek için kullanabilirsiniz. <input type="button" id="tus1" onclick="tiklama(this)" value="Tıkla" /> <script> function tiklama(etiket) { console.log(etiket.value); console.log(etiket.constructor.name); } </script> Tuş tıklandığında görülecek çıktı: Tıkla HTMLInputElement JavaScript Fonksiyonları ile İlgili Makaleler: JavaScript Fonksiyonları: Temel Kullanım JavaScript Fonksiyonları: Fonksiyonun Kendini Çağırması (Recursion) JavaScript Fonksiyonları: Fonksiyon İfadeler - Function Expressions JavaScript Fonksiyonları: Kapsanımlar - Closures Javascript Fonksiyonları: Yerinde Çalıştırılan İsimsiz Fonksiyonlar JavaScript Fonksiyonları: Nesne İçinde Fonksiyon - Metotlar JavaScript Fonksiyonları: Nesne Yapılandırıcısı Olarak Fonksiyon Kullanma JavaScript Fonksiyonları: this Kullanımı  (Bu makale) JavaScript Fonksiyonlari: arguments Nesnesi JavaScript Fonksiyonları: rest Parametreleri JavaScript Fonksiyonları: Function Yapılandırıcısı JavaScript Fonksiyonları: getter ve setter Fonksiyonlar JavaScript Fonksiyonları: Arrow (ok) Fonksiyonları JavaScript Fonksiyonları: Üretici Fonksiyonlar - Generator Functions
Ekleyen: canora
Değiştiren: canora
19.06.16 14:32
JavaScript Fonksiyonları: this Kullanımı
Bir önceki makalemizde nesne yapılandırırken kullanılan ve daha sonraki konumuzda da yer alacak olan  this  ifadesini biraz incelemek gerekir.  this  (bu), kullanıldığı yere ve fonksiyonun çağırılma şekline göre farklı değer içerir. Örneğin sınıf olarak tanımlanmayan fonksiyonların içinde veya dışında kullanılan  this , global nesneyi işaret eder (global nesnenin referansıdır). Global nesne, web sayfaları içinde kullanılan JavaScript için  window  nesnesidir. Farklı JavaScript uygulama ortamlarında global nesne değişebilir. Bir sınıf veya doğrudan nesne tanımı içinde kullanılan  this  ise önceki sınıf tanımlama makalemizde olduğu gibi oluşturulan nesneye işaret eder. function Sinif() { console.log(this.constructor.name); } console.log(this.constructor.name); Sinif(); var ornek = new Sinif(); Çıktısı: Window Window Sinif Örnekteki  constructor.name , bir nesnenin yapılandırıcısının adını verir. Örnekte bu yolla nesnenin hangi sınıftan türetildiğini öğreniyoruz. Çıktıdan da görüleceği gibi fonksiyon tanımından sonraki  console.log , Window şeklinde bir çıktı veriyor. Bu  this 'in Window sınıfının bir örneği olduğunu bildiriyor. Bu örnek web sayfaları içinde JavaScript programlarken kullandığımız  window  nesnesidir. Sonraki fonksiyonun doğrudan çağırılmasında ise fonksiyon içindeki  console.log(this)  de Window çıktısı veriyor. Ancak yapılandırıcı fonksiyonumuzu  new  operatörü ile çağırdığımızda yani bir nesne oluşturduğumuzda  this , oluşturulan nesneyi ifade ettiği için çıktıya nesnemizin türünü (türetildiği sınıf) belirten  Sinif  metni çıkıyor. this  ifadesi, bir olay fonksiyonunun içinde kullanıldığında olayın atandığı etiketi / nesneyi temsil eder. Örnek: function tiklama() { console.log(this.constructor.name); } document.getElementById("tus1").onclick = tiklama; tus1   id  özelliğine sahip etiketin bir input type button (tuş) olduğunu varsaydığımızda, bu tuş tıklandığında şöyle bir çıktı alırsınız: HTMLInputElement Ancak bunu fonksiyonu doğrudan etiketi tanımladığınız yerdeki  onclick  bildirimine yazarsanız  this  tuşu işaret etmez.  window  nesnesini işaret eder. Örnek: <input type="button" id="tus1" onclick="tiklama()" value="Tıkla" /> <script> function tiklama() { console.log(this.constructor.name); } </script> Çıktısı: Window Böyle bir durumda  onclick="..."  özellik tanımlamasının içinde  this  kullanırsanız bu  this  etiketi işaret eder. Bunu, olay fonksiyonunu etiket özelliği olarak bildirdiğimizde etiketin referansını fonksiyona geçmek için kullanabilirsiniz. <input type="button" id="tus1" onclick="tiklama(this)" value="Tıkla" /> <script> function tiklama(etiket) { console.log(etiket.value); console.log(etiket.constructor.name); } </script> Tuş tıklandığında görülecek çıktı: Tıkla HTMLInputElement JavaScript Fonksiyonları ile İlgili Makaleler: JavaScript Fonksiyonları: Temel Kullanım JavaScript Fonksiyonları: Fonksiyonun Kendini Çağırması (Recursion) JavaScript Fonksiyonları: Fonksiyon İfadeler - Function Expressions JavaScript Fonksiyonları: Kapsanımlar - Closures Javascript Fonksiyonları: Yerinde Çalıştırılan İsimsiz Fonksiyonlar JavaScript Fonksiyonları: Nesne İçinde Fonksiyon - Metotlar JavaScript Fonksiyonları: Nesne Yapılandırıcısı Olarak Fonksiyon Kullanma JavaScript Fonksiyonları: this Kullanımı  (Bu makale) JavaScript Fonksiyonlari: arguments Nesnesi JavaScript Fonksiyonları: rest Parametreleri JavaScript Fonksiyonları: Function Sınıfı JavaScript Fonksiyonları: getter ve setter Fonksiyonlar JavaScript Fonksiyonları: Arrow (ok) Fonksiyonları JavaScript Fonksiyonları: Üretici Fonksiyonlar - Generator Functions
Ekleyen: canora
Değiştiren: canora
18.06.16 23:40
JavaScript Fonksiyonları: this Kullanımı
Bir önceki makalemizde nesne yapılandırırken kullanılan ve daha sonraki konumuzda da yer alacak olan  this  ifadesini biraz incelemek gerekir.  this  (bu), kullanıldığı yere ve fonksiyonun çağırılma şekline göre farklı değer içerir. Örneğin sınıf olarak tanımlanmayan fonksiyonların içinde veya dışında kullanılan  this , global nesneyi işaret eder (global nesnenin referansıdır). Global nesne, web sayfaları içinde kullanılan JavaScript için  window  nesnesidir. Farklı JavaScript uygulama ortamlarında global nesne değişebilir. Bir sınıf veya doğrudan nesne tanımı içinde kullanılan  this  ise önceki sınıf tanımlama makalemizde olduğu gibi oluşturulan nesneye işaret eder. function Sinif() { console.log(this.constructor.name); } console.log(this.constructor.name); Sinif(); var ornek = new Sinif(); Çıktısı: Window Window Sinif Örnekteki  constructor.name , bir nesnenin yapılandırıcısının adını verir. Örnekte bu yolla nesnenin hangi sınıftan türetildiğini öğreniyoruz. Çıktıdan da görüleceği gibi fonksiyon tanımından sonraki  console.log , Window şeklinde bir çıktı veriyor. Bu  this 'in Window sınıfının bir örneği olduğunu bildiriyor. Bu örnek web sayfaları içinde JavaScript programlarken kullandığımız  window  nesnesidir. Sonraki fonksiyonun doğrudan çağırılmasında ise fonksiyon içindeki  console.log(this)  de Window çıktısı veriyor. Ancak yapılandırıcı fonksiyonumuzu  new  operatörü ile çağırdığımızda yani bir nesne oluşturduğumuzda  this , oluşturulan nesneyi ifade ettiği için çıktıya nesnemizin türünü (türetildiği sınıf) belirten  Sinif  metni çıkıyor. this  ifadesi, bir olay fonksiyonunun içinde kullanıldığında olayın atandığı etiketi / nesneyi temsil eder. Örnek: function tiklama() { console.log(this.constructor.name); } document.getElementById("tus1").onclick = tiklama; tus1   id  özelliğine sahip etiketin bir input type button (tuş) olduğunu varsaydığımızda, bu tuş tıklandığında şöyle bir çıktı alırsınız: HTMLInputElement Ancak bunu fonksiyonu doğrudan etiketi tanımladığınız yerdeki  onclick  bildirimine yazarsanız  this  tuşu işaret etmez.  window  nesnesini işaret eder. Örnek: <input type="button" id="tus1" onclick="tiklama()" value="Tıkla" /> <script> function tiklama() { console.log(this.constructor.name); } </script> Çıktısı: Window Böyle bir durumda  onclick="..."  özellik tanımlamasının içinde  this  kullanırsanız bu  this  etiketi işaret eder. Bunu, olay fonksiyonunu etiket özelliği olarak bildirdiğimizde etiketin referansını fonksiyona geçmek için kullanabilirsiniz. <input type="button" id="tus1" onclick="tiklama(this)" value="Tıkla" /> <script> function tiklama(etiket) { console.log(etiket.value); console.log(etiket.constructor.name); } </script> Tuş tıklandığında görülecek çıktı: Tıkla HTMLInputElement JavaScript Fonksiyonları ile İlgili Makaleler: JavaScript Fonksiyonları: Temel Kullanım JavaScript Fonksiyonları: Fonksiyonun Kendini Çağırması (Recursion) JavaScript Foksiyonları: Fonksiyon İfadeler - Function Expressions JavaScript Fonksiyonları: Kapsanımlar - Closures Javascript Fonksiyonları: Yerinde Çalıştırılan İsimsiz Fonksiyonlar JavaScript Fonksiyonları: Nesne İçinde Fonksiyon - Metotlar JavaScript Fonksiyonları: Nesne Yapılandırıcısı Olarak Fonksiyon Kullanma JavaScript Fonksiyonları: this Kullanımı  (Bu makale) JavaScript Fonksiyonlari: arguments Nesnesi JavaScript Fonksiyonları: rest Parametreleri JavaScript Fonksiyonları: Function Sınıfı JavaScript Fonksiyonları: getter ve setter Fonksiyonlar JavaScript Fonksiyonları: Arrow (ok) Fonksiyonları JavaScript Fonksiyonları: Üretici Fonksiyonlar - Generator Functions
Ekleyen: canora

En fazla 3 eski durum gösterilir.