Back to Freecodecamp

Write Reusable JavaScript with Functions

curriculum/challenges/english/blocks/basic-javascript/56bbb991ad1ed5201cd392cf.md

latest2.0 KB
Original Source

--description--

In JavaScript, we can divide up our code into reusable parts called <dfn>functions</dfn>.

Here's an example of a function:

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

You can call or <dfn>invoke</dfn> 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--

<ol> <li> Create a function called <code>reusableFunction</code> which prints the string <code>Hi World</code> to the dev console. </li> <li> Call the function. </li> </ol>

--before-each--

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

--hints--

reusableFunction should be a function.

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

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

js
assert(testConsole());

You should call reusableFunction once it is defined.

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

--seed--

--seed-contents--

js

--solutions--

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