J o: Ganz kleines JavaScript-Programm

Beitrag lesen

Hey,

function f1(x) {
return y => x * y;
};
const f3 = f1(3);
const f5 = f1(5);

alert(f3(11) + " " + f5(7));

Ausgabe: 33 35

Wie kommt es zu dieser Ausgabe? Es ist mir klar, dass 3*11=33 und 5*7=35. Aber das ganze Konstrukt ist mir vollkommen schleierhaft.

Kann mir vielleicht jemand erklären, wie das Programm hier vorgeht? Oder einen guten Link für den Anfänger?

Falls die Antwort von JürgenB noch nicht deutlich genug war, hier nochmal etwas anders.

Schön auch das es eine rein Mathematische Funktion ist, so lässt es sich leicht erklären. Denn rein Mathematisch ist es nicht anders. Eine Funktion $$f(x) = x$$, hat für jedes $$x$$ ein bestimmtes Ergebnis. Für die genannte Funktion gilt $$y = x$$. Für deine Gleichung gilt wie du erkannt hast $$f(x) = f(x) * x$$. So jetzt der schöne Teil.

In f3 sowie f5 speicherst du die Funktion selbst mit x = 3 bzw. 5, dass führt zu f3 = 3 * f1(x) und f5 = 5 * f1(x)

Wenn du jetzt f3(11) aufrufst ist das Ergebnis f3 = 3 * f1(11). Und damit f3 = 3*11 und analog für f5.

Gruß
Jo

0 49

Ganz kleines JavaScript-Programm

Julia
  • javascript
  1. 1
    JürgenB
    1. 0
      Julia
      1. 0
        Felix Riesterer
        1. 0
          J o
  2. 0
    J o
    1. 0
      Julia
  3. 5
    Orlok
    • javascript
    • programmiertechnik
  4. 3
    Felix Riesterer
    1. 2
      dedlfix
      1. 0
        pl
    2. 2

      Scope

      Orlok
      • javascript
      • perl
      1. 0
        Felix Riesterer
        1. 0
          pl
          1. 0
            Felix Riesterer
            1. 0
              pl
              1. 0
                Felix Riesterer
      2. 0
        pl
        1. 0
          pl
          • perl
        2. 1
          Tabellenkalk
          • perl
          1. 0
            pl
            1. 1
              Tabellenkalk
        3. 0

          Schönheitswettbewerb

          1unitedpower
          • programmiertechnik
          1. 0
            pl
            1. 0
              1unitedpower
              1. 0
                pl
                1. 0
                  1unitedpower
                  1. 0
                    pl
                    1. 4
                      1unitedpower
                      1. 0
                        Matthias Apsel
                        1. 1
                          1unitedpower
                          1. 0
                            pl
                            1. 0
                              Matthias Apsel
                            2. 0
                              1unitedpower
                              1. 0
                                pl
                                1. 0
                                  pl
                                  1. 0
                                    1unitedpower
                                2. 0
                                  1unitedpower
                                  1. 0
                                    pl
                                    1. 0
                                      1unitedpower
                      2. 0
                        Rolf B
                        1. 0
                          1unitedpower
                          1. 0
                            Rolf B
                            1. 0
                              1unitedpower
                        2. 0
                          pl
      3. 0

        Dynamic Scope

        pl
  5. 0
    pl
    1. 0
      Matthias Apsel
  6. 1
    Es