freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-an.../basic-javascript/write-reusable-javascript-w...

2.3 KiB

id title challengeType videoUrl forumTopicId dashedName
56bbb991ad1ed5201cd392cf Write Reusable JavaScript with Functions 1 https://scrimba.com/c/cL6dqfy 18378 write-reusable-javascript-with-functions

--description--

In JavaScript, we can divide up our code into reusable parts called functions.

Here's an example of a function:

function functionName() {
  console.log("Hello World");
}

You can call or invoke this function by using its name followed by parentheses, like this: functionName(); Each time the function is called it will print out the message Hello World on the dev console. All of the code between the curly braces will be executed every time the function is called.

--instructions--

  1. Create a function called reusableFunction which prints the string Hi World to the dev console.
  2. Call the function.

--hints--

reusableFunction should be a function.

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

If reusableFunction is called, it should output the string Hi World to the console.

assert(testConsole());

You should call reusableFunction once it is defined.

const functionStr = reusableFunction && __helpers.removeWhiteSpace(reusableFunction.toString());
const codeWithoutFunction = __helpers.removeWhiteSpace(code).replace(/reusableFunction\(\)\{/g, '');
assert(/reusableFunction\(\)/.test(codeWithoutFunction));

--seed--

--after-user-code--


function testConsole() {
  var logOutput = "";
  var originalConsole = console;
  var nativeLog = console.log;
  var hiWorldWasLogged = false;
  console.log = function (message) {
    if(message === 'Hi World')  {
      console.warn(message)
      hiWorldWasLogged = true;
    }
    if(message && message.trim) logOutput = message.trim();
    if(nativeLog.apply) {
      nativeLog.apply(originalConsole, arguments);
    } else {
      var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');
      nativeLog(nativeMsg);
    }
  };
  reusableFunction();
  console.log = nativeLog;
  return hiWorldWasLogged;
}

--seed-contents--


--solutions--

function reusableFunction() {
  console.log("Hi World");
}
reusableFunction();