Javascript中绑定闭包变量

Binding closure variables in Javascript

本文关键字:变量 闭包 绑定 Javascript      更新时间:2023-09-26

我想知道如何将变量绑定到闭包函数。让我使用下面的代码:

请查看这里的代码:

function makeCall(callback) {
var fs = callback.toString();
var stored_callback = eval('(' + fs + ')').bind({ });
stored_callback();
}
function foo(id) {
makeCall(function() {
    console.log(id);
});
}
foo('bar');

调用eval后,被调用的函数不能到达id,而作为闭包,它应该到达id。

我的问题是,在调用toString之前,我能以某种方式检索要存储和检索的闭包的"上下文"并绑定到调用吗?

根据Felix King的回答,这是不可能的。:(太糟糕了。我只是想存储调用并在以后执行某种持久性级别的调用。通过这种方式,即使计算机重新启动或发生任何事情,也可以进行交互……似乎唯一的方法是不使用"闭包"中的嵌入器参数,嗯?无论如何,非常感谢!