Kullanıcı: freeman
freeman
01.03.2020 16:03 ~ 01.03.2020 16:10
Call metodu, her fonksiyonun static alan adı verilen alanında bulunur ve görevi verilen parametreler ve bağlamda o metodu çalıştırmaktır.

Bir fonksiyon tanımlayalım;
var foo = function() { console.log( this ); }

Fonksiyonu normal yoldan çalıştıralım;
foo();
Burada fonksiyon global alanda çağırıldığı için "window" nesnesi bağlamında çalışır. Dolayısıyla konsola window nesnesi dökümlenir.

Fonksiyonu call metodu yardımıyla çalıştıralım;
foo.call( { bar: "baz" });
Bu yöntemde ise metot verilen özel bir nesneyi bağlam (*: context) olarak aldı. Dolayısıyla konsola aldığı nesne dökümlenir.

Call metodu ilk parametrede fonksiyonun this sözcüğüne atanacak bağlam nesnesini kabul eder. Ondan sonra gelecek bütün parametreler sırayla fonksiyonun parametre tüneline enjekte edilir. Yani ilk parametre this sabitine, diğerleri argüman tüneline gönderilir.

Function.call( context, arg1, arg2, ... );

Dikkat ettiyseniz çalıştıracağınız fonksiyona parametreleri manuel olarak tek tek yazmamız gerekir. Eğer çalıştıracağımız fonksiyonun kabul ettiği parametreler elimizdeyse, bunlara ne göndereceğimizi biliyorsak call metodu işimizi görecektir.

Ancak her zaman parametreler elimizde tam olarak bulunmayabilir. Dahası çalıştıracağımız fonksiyon çok biçimli (*: polymorphic) davranan bir metot da olabilir. Bu durumlarda call metodu yetersiz kalacaktır.

Onun için de;

bkz
javascript apply metodu
bkz
javascript bind metodu
#programlama #javascript

Rastgele Başlıklar

require.js

Javascriptçalışan ortamlar için kaynak kod ve çeşitli nevaleyi yüklemeye yarayan loader script. Hatta öyle ki node.jsdahi bunu kullanmanızı tavsiye eder ya da etmez. Sonuçta kendiniz de amacınıza uygun bir tane . . .

birine dokununca elektrik çarpması

Dokununca Elektrik Çarpması

süper kahramanların yaşlı halleri

Süper kahramanlar yaşlanınca nasıl görüneceklerini merak edenlerden misiniz? Bir sanatçı bu ihtiyacı gidermek için üşenmeden oturmuş hayal edip çizmiş.

mesafeli satış sözleşmesi

Alıcı ve satıcının fiziksel olarak birbirine yakın olamadığı durumlarda uzaktan satış/pazarlamayükümlülüklerini iki taraf arasında düzenleyen bir sözleşmetürüdür. Gümrük ve Ticaret Bakanlığının çıkardığı Mesafeli Sözleşmeler Yönetmeliğinde sözleşmenin geçerli olabilmesi için . . .

cosmos, galaksi ve güneş sistemi büyüklük sıralaması

Yanıtı sıkça merak edilen ve bilgi için internette başvurulan bir sorudur. Cosmos, galaksi ve Güneş Sistemi hangisi daha büyüktür sorusunun cevabını verelim.Öncelike tüm bunlar ne demek sırayla açıklayıp gidersek anlaması . . .

flat design

Arayüztasarımına minimalistbir anlayışla yaklaşan bir tekniktir, tasarım dilidir. 3 boyutlu derinlik sağlayan tekniklerin (gölge, ışıklandırma, doku) kullanımı minimum düzeydedir. Sadelik sayesinde içeriğin ön plana taşınması sağlanmış olur. Aynı zamanda bütün . . .