Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Callback Functions in JavaScript Introduction to Callback Functions Creating an Anonymous Callback Function

Hello, I have learned about functions before but my code is not passing as correct please help

my code:

const anno = function() { console.log("Hello World!"); }

functionRunner(anno);

app.js
const anno = function() {
  console.log("Hello World!");
}

functionRunner(anno);
index.html
<!DOCTYPE html>
<html lang="en">
    <head>
        <title></title>
        <link rel='stylesheet' href='styles.css'>
    </head>
    <body>
        <section>
            <p>Open your browser's console to see the results</p>
        </section>
        <script src='runner.js'></script>
        <script src='app.js'></script>
    </body>
</html>
runner.js
function functionRunner(callback) { 
  callback();
}

I thought an anonymous function was a function without a name declared in a variable but when i pass the value to a function then call it with another function(callBack) still says the callback has a name.

I don't understand what i am doing wrong i don't feel the instructions are clear.

1 Answer

Steven Parker
Steven Parker
231,236 Points

You've converted the function declaration into an anonymous function expression, but then you name it "ammo" with an assignment. Then you pass the fuction by name into functionRunner"

But the instructions say *"pass the anonymous function directly into functionRunner.".

So to follow the instructions, the function expression should become the argument to functionRunner and it will not be given a name by assignment.