* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2.2 KiB
2.2 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
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--
- Create a function called
reusableFunction
which prints"Hi World"
to the dev console. - 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();