回调函数,如何从对象中增加数字,然后添加到sum属性中



我哪里错了?我想增加firstNumber,然后求和结果为2。当我尝试调试时,我得到错误"x未定义">

function main() {
let object = {
firstNumber: 1,
sum: 0
}
secFun(x, object, firstFun)
console.log(object.sum)
}
function firstFun(a) {
a.firstNumber++;
a.sum += a.firstFun;
}
function secFun(x, y, callback) {
callback(x, y);
}
main();

您的main()函数正在使用参数x调用secFun,但您尚未在函数的作用域内声明x

事实上,您还没有在任何地方声明x

function main() {
let object = {
firstNumber: 1,
sum: 0
}
// 'x' is not defined in local or global scope
secFun(x, object, firstFun)
console.log(object.sum)
}

此外,secFun函数使用两个参数调用回调,但firstFun只接受一个参数。

function secFun(x, y, callback) {
// calling 'callback' with two arguments
callback(x, y);
}
// but firstFun accepts only one parameter
function firstFun(a) {
}
function firstFun(a) {
a.firstNumber++;
a.sum += a.firstNumber;
}
function secFun(x, callback) {
callback(x);
}
function main() {
let object = {
firstNumber: 1,
sum: 0
}
secFun(object, firstFun)
console.log(object)
}
main();

相关内容

最新更新