JavaScript'te fonksiyonlar nasıl çalışır?

Katılım
23 Temmuz 2019
Mesajlar
46
JavaScript dersimde fonksiyonlar kısmına geldim. Açıkçası fonksiyonlar kolay fakat işin içine parametreler ve fonksiyon içinde fonksiyon yazma girince kafam karıştı. Bana kolay ve anlaşılır bir şekilde bunları örnekler üzerinden anlatabilecek biri var mı? Mesela return komutu ne işe yarıyor, neden kullanılıyor gibi. Aklımda takılan bazı konular var.
//Örnek

ornek.PNG


Açıkçası bu örnekten hiçbir şey anlamadım.
 
JS bilmiyorum henüz ama algoritma mantığından gidersem program önce getnumber komutuyla 4 ve 5’i alıp Calculate fonksiyonuna gönderiyor parametre olarak. Calculate dikkat edersen pr1 ve pr2 adında iki parametre alıyor dışarıdan yani 4 ve 5. Calculate bu iki sayıyı return sum komutuyla üstteki sum fonksiyonuna gönderiyor. Sum fonksiyonunun aldığı data1 ve data2 parametrelerine 4 ve 5 gönderilmiş oluyor.
Sum fonksiyonu iki sayıyı topladıktan sonra return ediyor yani dışarıya push ediyor. Sum un sonucu 9 oluyor, Calculate içinde 9*9dan 81 sonucu çıkıyor.
 
Ben de o kadar anlamıyorum ama anlatmaya çalışıyım.

sum fonksiyonu 2 tane parametre alıyor, return data1+data2 ise sum'a verilen parametreleri toplayıp döndürüyor. Yani sum(1,2) dersen sana 3 verir.

Calculate ise yine 2 tane parametre alıyor, return sum(pr1,pr2)*sum(pr1,pr2) burada ise 2 tane sum var bunların ikisi de Calculate'e verilen 2 parametreyi topluyor ve birbirleriyle çarpıyorlar. Yani Calculate(2,2) dersen sana 16 verir, (2+2)*(2+2)
 
JS bilmiyorum henüz ama algoritma mantığından gidersem program önce getnumber komutuyla 4 ve 5'i alıp Calculate fonksiyonuna gönderiyor parametre olarak. Calculate dikkat edersen PR1 ve PR2 adında iki parametre alıyor dışarıdan yani 4 ve 5. Calculate bu iki sayıyı return sum komutuyla üstteki sum fonksiyonuna gönderiyor. Sum fonksiyonunun aldığı data1 ve data2 parametrelerine 4 ve 5 gönderilmiş oluyor.
Sum fonksiyonu iki sayıyı topladıktan sonra return ediyor yani dışarıya push ediyor. Sum un sonucu 9 oluyor, Calculate içinde 9*9'dan 81 sonucu çıkıyor.

Teşekkürler benim kaçırdığım nokta return sum komutuymuş yani return sum ile bir üste gönderiyor. Ama benim aklım şundan dolayı karıştı dersin başında şunu öğretmişlerdi JavaScript kodları yukarıdan aşağı doğru okunur( Yani yukarıda bir JS komutu ile dive yazı yazdırmak istiyosak çalışmaz çünkü daha divi okumadı yani bulamadı diye öğrettiler). Ondan dolayı kafam karıştı benim teşekkürler.
Ben de o kadar anlamıyorum ama anlatmaya çalışıyım.

sum fonksiyonu 2 tane parametre alıyor, return data1+data2 ise sum'a verilen parametreleri toplayıp döndürüyor. Yani sum(1,2) dersen sana 3 verir.

Calculate ise yine 2 tane parametre alıyor, return sum(pr1,pr2)*sum(pr1,pr2) burada ise 2 tane sum var bunların ikisi de Calculate'e verilen 2 parametreyi topluyor ve birbirleriyle çarpıyorlar. Yani Calculate(2,2) dersen sana 16 verir, (2+2)*(2+2)
teşekkürler dediğim gibi benim aklıma JS kodları yukarıdan aşağı yazılır dendiği için karıştı
 
Teşekkürler benim kaçırdığım nokta return sum komutuymuş yani return sum ile bir üste gönderiyor. Ama benim aklım şundan dolayı karıştı dersin başında şunu öğretmişlerdi JavaScript kodları yukarıdan aşağı doğru okunur( Yani yukarıda bir JS komutu ile dive yazı yazdırmak istiyosak çalışmaz çünkü daha divi okumadı yani bulamadı diye öğrettiler). Ondan dolayı kafam karıştı benim teşekkürler.

teşekkürler dediğim gibi benim aklıma JS kodları yukarıdan aşağı yazılır dendiği için karıştı
Çalıştırınca ne çıkıyor sonuç peki merak ettim.
 
Matematikteki fonksiyonlarla hemen hemen ayni.
x,y,z parametrelerinden t ciktisi veren matematik fonksiyonu:

1630332475127.png


Aynisi js icindeki f(x,y,z){return z;}

Ile esdeger.

Ayni sekilde bir fonksiyon fonksiyon da return edebilir. ( Higher level functions )

a ve b parametresi alan q fonksiyonu; m parametresi alan p fonksiyonu tarafindan return edilebilir.



1630332636832.png


Yine fonksiyonlara parametre olarak fonksiyon da verebilirsin, bunlari call() metodu ile cagirabilirsin.

Belirli bir butunlugu olan, ayni inputla ayni outputu ureten seyleri fonksiyonlastiririz genelde.

Ornegin bir sayinin asal olup olmadigini kontrol eden fonksiyon -> isPrime ( n ) -> true/false return eder.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı