我试图变得更加熟悉Javascript中的回调函数。我创建了一个简单的应用程序,将新成员推送到开发团队。我正在尝试使用addDev函数作为回调实践。我收到错误: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');
最佳答案
这是因为您从未将addDev
传递给devMember
。
尝试
devMember('Jay','Spears',addDev);
即使已定义(提升)了addDev
,但由于您同时将devMember
的第三个参数调用为addDev
,因此您将覆盖它。然后,在调用devMember('Jay', 'Spears')
时,您不会传递任何内容作为第三个参数,因此在devMember
的执行上下文中未定义该参数。