Warum erhalte ich für diesen Abschluss den Wert "Ergebnis"?

Nehmen wir an, ich habe diesen Code (Geige) zur Speicherung von Modulen:

var chat = {
 // Create this closure to contain the cached modules
 module: function() {
    // Internal module cache.
    var modules = {};
     console.log('in module:', name);  // <---------- "in return: result"     
    // Create a new module reference scaffold or load an
    // existing module.
    return function(name) {
      console.log('in return:', name); // <---------- "in return: derp"
      // If this module has already been created, return it.
      if (modules[name]) {
        return modules[name];
      }

      // Create a module and save it under this name
      return modules[name] = { Views: {} };
    };
  }()
};

chat.module("derp");

Nirgendwo im Code wird der Ausdruck "Ergebnis" überhaupt erwähnt. Warum wird dieser Wert im ersten Konsolenprotokoll zurückgegeben?

Wie erhält die Rückgabefunktion den Wert für dasname Parameter, wenn keine in der angegeben istmodule: function() {} Erklärung?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage