Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments.md
2022-08-19 20:53:29 +02:00

3.0 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244bd Übergabe von Werten an Funktionen mit Argumenten 1 https://scrimba.com/c/cy8rahW 18254 passing-values-to-functions-with-arguments

--description--

Parameter sind Variablen, die als Platzhalter für die Werte dienen, die an eine Funktion übergeben werden sollen, wenn sie aufgerufen wird. Wenn eine Funktion definiert wird, wird sie typischerweise zusammen mit einem oder mehreren Parametern definiert. Die tatsächlichen Werte, die in eine Funktion eingegeben (oder an sie "übergeben" werden), wenn sie aufgerufen wird, nennt man Argumente.

Hier ist eine Funktion mit zwei Parametern, param1 und param2:

function testFun(param1, param2) {
  console.log(param1, param2);
}

Dann können wir testFun wie folgt aufrufen: testFun("Hello", "World");. Wir haben zwei String-Argumente übergeben, Hello und World. Innerhalb der Funktion wird param1 gleich dem String Hello und param2 wird gleich dem String World. Beachte, dass du testFun erneut mit anderen Argumenten aufrufen könntest und die Parameter den Wert der neuen Argumente annehmen würden.

--instructions--

  1. Erstelle eine Funktion namens functionWithArgs, die zwei Argumente akzeptiert und deren Summe auf der Konsole ausgibt.
  2. Rufe die Funktion mit zwei Zahlen als Argumente auf.

--hints--

functionWithArgs sollte eine Funktion sein.

assert(typeof functionWithArgs === 'function');

functionWithArgs(1,2) sollte 3 ausgeben.

if (typeof functionWithArgs === 'function') {
  capture();
  functionWithArgs(1, 2);
  uncapture();
}
assert(logOutput == 3);

functionWithArgs(7,9) sollte 16 ausgeben.

if (typeof functionWithArgs === 'function') {
  capture();
  functionWithArgs(7, 9);
  uncapture();
}
assert(logOutput == 16);

Du solltest die functionWithArgs mit zwei Zahlen aufrufen, nachdem du sie definiert hast.

assert(
  /functionWithArgs\([-+]?\d*\.?\d*,[-+]?\d*\.?\d*\)/.test(
    code.replace(/\s/g, '')
  )
);

--seed--

--before-user-code--

var logOutput = "";
var originalConsole = console
function capture() {
    var nativeLog = console.log;
    console.log = function (message) {
        if(message) logOutput = JSON.stringify(message).trim();
        if(nativeLog.apply) {
          nativeLog.apply(originalConsole, arguments);
        } else {
          var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');
          nativeLog(nativeMsg);
        }
    };
}

function uncapture() {
  console.log = originalConsole.log;
}

capture();

--after-user-code--

uncapture();

if (typeof functionWithArgs !== "function") { 
  (function() { return "functionWithArgs is not defined"; })();
} else {
  (function() { return logOutput || "console.log never called"; })();
}

--seed-contents--


--solutions--

function functionWithArgs(a, b) {
  console.log(a + b);
}
functionWithArgs(10, 5);