Oliver Eyton-Williams 0bd52f8bd1
Feat: add new Markdown parser (#39800)
and change all the challenges to new `md` format.
2020-11-27 10:02:05 -08:00

2.2 KiB

id, title, challengeType, videoUrl, forumTopicId
id title challengeType videoUrl forumTopicId
56bbb991ad1ed5201cd392cf Write Reusable JavaScript with Functions 1 https://scrimba.com/c/cL6dqfy 18378

--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 "Hi World" to the dev console.
  2. Call the function.

--hints--

reusableFunction should be a function.

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

reusableFunction should output "Hi World" to the dev console.

assert(hiWorldWasLogged);

You should call reusableFunction after you define it.

assert(/^\s*reusableFunction\(\)\s*/m.test(code));

--seed--

--before-user-code--

var logOutput = "";
var originalConsole = console;
var nativeLog = console.log;
var hiWorldWasLogged = false;
function capture() {
    console.log = function (message) {
        if(message === 'Hi World')  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);
        }
    };
}

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

capture();

--after-user-code--

uncapture();

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

--seed-contents--

--solutions--

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