我哪里错了?我想增加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();