我已经读取了用于事件处理程序或不确定响应的异步代码中的回调,但是我的问题很简单,当我有一个要在另一个函数中使用的函数时,我应该使用回调吗?
例如:
let name = function () {
return "Umar"
}
let printName = function () {
return name()
}
console.log(printName())
但是在下面的代码中,我试图作为回调函数传递,并返回synatx错误。在这种情况下,我可以在这里使用回调函数吗,它还会返回错误。
let name = function () {
return "Umar"
}
let printName = function (name) {
return name()
}
console.log(printName())
Also I have another problem, Look at this code it is thrwoing an error for the variable to be not defined, however I have defined it
let name = function () {
return "Umar"
}
let printName = function () {
let name = name()
return name
}
console.log(printName())
但是。在第二个函数中将可变名称命名为name1很好,例如
let name = function () {
return "Umar"
}
let printName = function () {
let name1 = name()
return name1
}
console.log(printName())
为什么即使在定义变量后,name变量仍会引发错误。
答案 0 :(得分:2)
回调是将一个函数作为参数传递给另一个函数时的回调。 您永远不会这样做。
在一个地方几乎可以做到这一点:
let printName = function (name) { return name() }
上面已经编写了一个函数,该函数调用作为函数获得的第一个参数。
但是什么时候调用该函数:
console.log(printName())
...您不要传递任何参数!
因此,name
是未定义的,并且该函数引发异常。
为什么即使在定义变量后,name变量仍会引发错误。
您两次声明name
。
printName
函数的范围(分配了undefined
中)中。
当我有一个要在另一个函数中使用的函数时,我应该使用回调吗?
不是一般情况。当您有一个需要在不同时间调用不同函数的函数时,可以使用回调。