• 17-10-2012, 13:56:56
    #1
    Çeşitli yerlerde rastladığım ve tam anlayamadığım bazı kullanım şekilleri var. Sorumun anlaşılabilmesi için aşağıya aynı işi yapan iki kodu örnek olarak yazıyorum.

    1) ilk koddaki topla fonksiyonunun topla=function(a,b) şeklinde kullanılmasının nedeni nedir?

    2) ondan daha çok öğrenmek istediğim ise birinci koddaki kırmızı ile işaretlediğim bölüm. Kırmızı bölümün return topla(c,5); den farkı nedir?

    cevaplar için şimdiden teşekkürler.

    topla=function(a,b) {
    	return a + b;
    }
    
    function hesapla(c) {
    	return(0,topla)(c,5);
    }
    
    document.write(hesapla(2));
    function topla(a,b) {
    	return a + b;
    }
    
    function hesapla(c) {
    	return topla(c,5);
    }
    
    document.write(hesapla(2));
  • 17-10-2012, 16:22:34
    #2
    fark yok javascript in syntax konusunda biraz geniş ahlaklıdır

    topla=function(a,b) {
    return a + b;
    }
    ile
    function topla(a,b) {
    return a + b;
    }

    arasında fark yok
    return(0,topla)(c,5);
    bu ise
    () = yeni function yanindaki () ise onun çağrımıdır gerek yok böle fantezilere
    örnek vereyim
    x=(100,200,200,200,200,200,200,200,200,200,200,200 ,200,200,alert);
    x("selam");
    veya
    x=(100,200,200,200,200,200,200,200,200,200,200,200 ,200,200,alert)("selam");
    ile
    alert("selam");
    aynı sonucu verir
  • 17-10-2012, 16:38:28
    #3
    @Tontonq, teşekkür ederim.

    JS kodları küçültmek için kullandıkları programlar bu şekilde değiştiriyor diye tahmin ediyorum.
  • 18-10-2012, 10:38:53
    #4
    Topla fonksiyonunun bu şekilde olmasının nedeni sadece tek bir toplama işlemiyle kısıtlı olmaması örneğin

    var i = 1;
    var k = 2;
    var toplam = i+k;

    olarak yazılabilir bu bağlamda sadece bir toplama işlemi yapılmış olur.
    Fakat toplam bir fonksiyona bağlanırsa bir döngü için de yada dışında toplam iki değişken verilerek hesaplanabilir.