我有一个函数,它接受另一个函数及其变量并执行该函数,我的问题是我传递的变量变得未定义,
function A(type = 'default_type', B = function(){}) {
B();
}
function Parent() {
var data = "hello"
A('my_type', data => {
console.log(data);
});
}
Parent();
当我这样做时它会起作用:
function A(type = 'default_type', data,B = function(){}) {
B(data);
}
function Parent() {
var data = "hello"
A('my_type', data => {
console.log(data);
});
}
Parent();
但我不想这样做,因为我可能需要在未来中传递多个变量
答案 0 :(得分:2)
您使用data
两次,将您对A()的调用中的函数声明更改为其他名称,以便您可以访问“Hello”数据。
function A(type = 'default_type', B = function(){}) {
B();
}
function Parent() {
var data = "hello"
A('my_type', d => {
console.log(data);
});
}
Parent();