freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../basic-javascript/passing-values-to-functions...

3.5 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
56533eb9ac21ba0edf2244bd Passing Values to Functions with Arguments 1 Passando Valores para Funções com Argumentos

Description

Parâmetros são variáveis que atuam como espaços reservados para os valores que devem ser inseridos em uma função quando ela é chamada. Quando uma função é definida, ela é tipicamente definida junto com um ou mais parâmetros. Os valores reais que são inseridos (ou "passados" ) em uma função quando são chamados são conhecidos como argumentos . Aqui está uma função com dois parâmetros, param1 e param2 :
function testFun (param1, param2) {
console.log (param1, param2);
}
Então podemos chamar testFun : testFun("Hello", "World"); Nós passamos dois argumentos, "Hello" e "World" . Dentro da função, param1 será igual a "Hello" e param2 será igual a "World". Note que você poderia chamar testFun novamente com diferentes argumentos e os parâmetros assumiriam o valor dos novos argumentos.

Instructions

  1. Crie uma função chamada functionWithArgs que aceita dois argumentos e produz sua soma no console dev.
  2. Chame a função com dois números como argumentos.

Tests

tests:
  - text: <code>functionWithArgs</code> deve ser uma função
    testString: 'assert(typeof functionWithArgs === "function", "<code>functionWithArgs</code> should be a function");'
  - text: '<code>functionWithArgs(1,2)</code> deve produzir <code>3</code>'
    testString: 'if(typeof functionWithArgs === "function") { capture(); functionWithArgs(1,2); uncapture(); } assert(logOutput == 3, "<code>functionWithArgs(1,2)</code> should output <code>3</code>");'
  - text: '<code>functionWithArgs(7,9)</code> deve produzir <code>16</code>'
    testString: 'if(typeof functionWithArgs === "function") { capture(); functionWithArgs(7,9); uncapture(); } assert(logOutput == 16, "<code>functionWithArgs(7,9)</code> should output <code>16</code>");'
  - text: Chame <code>functionWithArgs</code> com dois números depois de defini-lo.
    testString: 'assert(/^\s*functionWithArgs\s*\(\s*\d+\s*,\s*\d+\s*\)\s*;/m.test(code), "Call <code>functionWithArgs</code> with two numbers after you define it.");'

Challenge Seed

// Example
function ourFunctionWithArgs(a, b) {
  console.log(a - b);
}
ourFunctionWithArgs(10, 5); // Outputs 5

// Only change code below this line.

Before Test

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 Test

console.info('after the test');

Solution

// solution required