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 JavaScript Foundations Objects Methods

On 'andrew' and 'ryan' set greet method to genericGreet. Not sure exactly what this question means; below is my answer.

''' var genericGreet = function() { return "Hello, my name is " + this.name; }

  var andrew = {
    name: "Andrew",
    greet: genericGreet();
  }

  var ryan = {
    name: "Ryan",
    greet: genericGreet();
  }

'''

3 Answers

Remove the (); after genericGreet. Having the parenthesis means that you are defining the function.

You would use the parenthesis after the function if you were going to define the body of the function inside of your object. Something like this

var ryan = {
   name: "Ryan",
   greet: function() { return "Hello, my name is " + this.name; }
}
Andrew McCormick
Andrew McCormick
17,730 Points

genericGreet is a variable that contains a function. You are calling it like it's a function.

thanks Andrew for this post. I was also stuck..

This question should be reworded as the word "genericGreet" threw me off