Merhaba arkadaslar yabanci javascript egitim videosu izliyorum ve return komudu surekli hesap yapmayi durdurmasini birdaha calistirmamasini saglamak icin kullaniliyor ve deger donduruyor dedi dogru sanirsam buraya kadar. Fakat adam bir fonksiyon icinde surekli hesaplamasini durdurmak icin kullaniyor baska bi fonksiyonda yine islem yapiyor fakat bu sefer return kullanmiyor nedeni ne ? ne gibi durumlarda kullaniliyor lutfen aciklayin su komudu bi anlayamadim nedense. Anlayacagim dilde olursa sevinirim yeni yeni programlama dillerine giriyorumda
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Diyelim ki bir fonksiyonun var. Bu fonksiyon kendine verilen sayının 3 katını sana döndürüyor. İşi bu olsun. Matematiksel olarak f(x) = 3x diye gösterebilirsin. Bu durumda f(3) dediğin zaman 9 olur vb.
Programlamadaki fonksiyonlar da matematiklerin çakmasıdır. Fonksiyon vardır, girdisi vardır, çıktısı vardır (olmayabilir de). Aradaki tek fark, fonksiyonun sana çıktı olarak vereceği sonuca varana kadar farklı işlemler de yapabilmendir. Matematikte formülün ortasına "bu noktada dur ve formülü işleten adama kaç koyayım buraya abi diye sor" diyemiyorsun. Programlamada diyebilirsin. Ama bu arada başka işlemler de yaptırabiliyor olmandan dolayı, dil hangi değişkenin sonuç olduğunu tam olarak kavrayamıyor. Bunu senin belirtmen lazım. "Bu değişken benim çıktı değişkenim" diye belirtirsin. O işi de return yapar. Return komutu geldiği anda fonksiyon işletilmeyi bırakır. Return'e verilen değer de çıktı olarak atanır.
Bu taktik bazen fonksiyondan çıkmak için kullanılabilir. Mesela 1 milyar sayının olduğu bir listen var. bu sayıların 40.sının değeri (1) ve diğerleri (0). Fonksiyonun yapmasını istediğin iş de listede 1 var mı yok mu bakmak. Programcı düşünüp 1'in her daim 1 milyarıncı sırada olmayacağını buluyor. Fonksiyondan erken çıkıp performanstan kazanırım ben diyor. O zaman diyor ki:
def bir_var_mi(liste): for sayi in liste: if sayi == 1: return True return False
# js bilmiyorum, kod python kodu ama eminim benziyordur
bu kodu çalıştırdığın zaman, listedeki her elemana tek tek bakıyorsun baştan. 1'e eşit mi değil mi diye. Öyleyse return True diyorsun, çıktı veriliyor ve fonksiyondan çıkılıyor. 1'in olduğunu zaten bulmuşsun, bir daha niye kalan elemanları kontrol edesin? O amaçla o anda return ediyorsun. Ha eğer elemanların hiçbiri 1 değilse, o zamanda en alt satıra erişiyorsun (diğer türlü oraya gelene kadar çıkıyorduk) ve False döndürüyorsun. Yani bulamamış.
< Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 29 Ocak 2017; 3:4:18 >
Eyvallah anlatimin cok iyi bu sefer anladim gibi ama aklima su takildi okuyabilcekmisin bilmiyorum ama
function calculateAge( yearOfBirth ) { var age = 2016 - yearOfBirth; return age; } adam burda kullaniyor returnu peki ya burda niye kullanmiyor retirement icin return retirement; yapamazmiydi sonucta islemin sonucunu buluyor
function yearsUntilRetirement(name, year) { var age = calculateAge( year ); var retirement = 65 - age; if ( retirement >= 0 ) { console.log(name + ' retires in ' + retirement + ' years.'); } else { console.log(name + ' is already retired.'); } }
İlk fonksiyonda fonksiyonu bir değişken gibi düşün, sen o fonksiyonun değerini konsola yazdırmak istersen yazdırırsın istemessen yazdırmassın ancak ikinci örnekte sen fonksiyonu çağırdığın anda konsola değer yazdırılır. function ikiekle(sayi){ return sayi+2; }
mesela bu fonksiyonu şu şekilde çağırırsanız ekrana baskı alamazsınız. ikiekle();
ikiekle fonksiyonunu ekrana şu şekilde bastırabilirsin. document.write(ikiekle(3)); ve dediğim gibi bir değişken gibi kullanabilirsin. document.write(ikiekle(3)+1); //burda ekrana 6 bastırılır.
ama fonksiyonun böyle olursa; function ikiekle(sayi){ document.write(sayi+2); }
ozaman sen fonksiyonu nerde çağırırsan çağır ekrana değer bastırılır. document.write(ikiekle(3)+1); bu kodu yazdığında ekrana 6 değil 5 bastırılır ve fonksiyonu değişken gibi kullanamassın.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.