Reputation: 1474
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
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