Josh
Josh

Reputation: 1474

Javascript callback function error

I'm trying to become more familiar with callback functions in Javascript. I've created a simple app to push a new member to a development team array. I'm trying to use the addDev function as my callback practice. I'm receiving an error: Uncaught TypeError: addDev is not a function.

var devTeam = [];

function devMember(fName, lName, addDev){
    this.firstName = fName;
    this.lastName = lName;
    this.fullName = firstName + " " + lastName;
    addDev(fullName);
}

function addDev(member){
    devTeam.push(member);
    console.log(devTeam);
}

devMember('Jay', 'Spears');

Upvotes: 1

Views: 65

Answers (1)

caasjj
caasjj

Reputation: 1363

That's because you never passed addDev to devMember.

Try devMember('Jay', 'Spears', addDev);

Even though addDev is defined (hoisted), because you're calling the third argument to devMember also addDev, you're overriding it. And then you don't pass anything as a third argument when you invoke devMember('Jay', 'Spears'), so it is undefined in the execution context of devMember.

Upvotes: 5

Related Questions