简体   繁体   中英

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');

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM