标签: javascript callback closures
我想知道为什么变量是未定义的,如果它在回调函数中初始化。
伪代码:
var name; //callback function: function(givenName) { name = givenName; } alert(name) // undefined
回调函数是从传递givenName的不同模块调用的,并且在回调函数名称中定义它应该,但不在回调函数之外。我很想知道这是如何工作的以及如何解决它。任何文章或答案都非常欢迎!感谢。
答案 0 :(得分:0)
当从另一个上下文调用此函数并且您想要影响实际范围中的变量时,您需要在调用此方法时传递上下文。
因此,您应该使用call或apply并将所需的上下文作为第一个参数传递。
希望这有帮助