gpt4 book ai didi

javascript - 像这样访问绑定(bind)函数?

转载 作者:行者123 更新时间:2023-11-30 09:30:45 26 4
gpt4 key购买 nike

所以我正在为 JavaScript VM 编写 FFI,我遇到了这种情况:

let myFunction = Function('console.log(this.toPrint);');
myFunction = myFunction.bind(myFunction);
//any amount of time in the future
myFunction.toPrint = "some value";
//further in the future
myFunction();
//prints undefined but ideally would print "some value" because the bound function is not the function.

现在,我可以将该绑定(bind)函数作为参数传递,但是由于我所创建内容的性质,我无法控制函数调用本身。

虽然我不能使用 bind,而是在函数内部使用 arguments.callee,但我知道这不是好的做法,可能会被弃用。除了这个还有其他选择吗?

最佳答案

使正在使用 Function 创建的函数 返回 您想要的实际函数,并立即调用结果:

let myFunction = Function('return function f() { console.log(f.toPrint); };')();
//any amount of time in the future
myFunction.toPrint = "some value";
//further in the future
myFunction();
//prints "some value"

关于javascript - 像这样访问绑定(bind)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46461770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com