JS 闭包函数:回调函数中获取值并赋予全局变量
在 JavaScript 中,可以使用闭包来创建一个函数作用域,从而在回调函数中访问该函数作用域中的变量。因此,可以通过在闭包函数中定义一个全局变量,然后在回调函数中获取该变量的值,并将其赋给全局变量来实现该功能。具体实现方法如下:
var globalVar;
function foo(callback) {
var localVar = 'local value';
function closure() {
globalVar = localVar;
callback();
}
closure();
}
foo(function() {
console.log(globalVar); // 输出 'local value'
});
在上面的例子中,foo 函数接受一个回调函数作为参数,并在其内部定义了一个闭包函数 closure。closure 函数通过访问 localVar 变量来获取值,并将其赋予全局变量 globalVar。在 foo 函数的最后,调用 closure 函数来触发回调函数,并在回调函数中打印全局变量 globalVar 的值。在这个例子中,回调函数将输出 'local value',因为在闭包函数中将 localVar 的值赋给了全局变量 globalVar。
原文地址: https://www.cveoy.top/t/topic/mXbL 著作权归作者所有。请勿转载和采集!