Javascript回调函数错误

Jos*_*osh 1 javascript callback

我正在尝试更熟悉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');
Run Code Online (Sandbox Code Playgroud)

caa*_*sjj 5

那是因为你从来没有通过addDevdevMember.

尝试devMember('Jay','Spears',addDev);

尽管addDev被定义(悬挂),因为你调用的第三个参数devMemberaddDev,你要覆盖它.然后在调用时不会传递任何东西作为第三个参数devMember('Jay', 'Spears'),因此它在执行上下文中是未定义的devMember.

  • @Tushar不,因为函数参数中的`addDev`声明会影响全局声明,如果没有传递第三个参数,变量将是未定义的.代码可以在没有第三个参数的情况下工作. (2认同)