gpt4 book ai didi

javascript - 关闭替代方案

转载 作者:行者123 更新时间:2023-11-29 10:08:36 25 4
gpt4 key购买 nike

我遇到过很多情况,我发现自己需要做类似于以下的事情

function main() {
var x = "Something";

foo('do stuff', function bar(stuffResponse) {
var y = x + stuffResponse;
});
}

即我的回调函数需要我之前定义的变量 x 的闭包。然而,这让我很烦恼,因为我不喜欢我的 bar 函数依赖于自身之外的变量,但最重要的是因为我非常更喜欢这样编写我的代码。 ..

function main() {
var x = "Something";

foo('do stuff', bar);
}

function bar(stuffResponse) {
var y = x + stuffResponse;
}

但很明显,如果我这样做,bar 就不知道 x 是什么了。有没有一种干净的方法来实现后一种风格,同时保留前者的功能?

最佳答案

可以通过以下任何一种方式获取变量:

  1. 作为参数传递给函数。
  2. 在函数内声明。
  3. 全局声明
  4. 在封闭范围内可用。

您必须决定要使 x 可用的这些。 4 一点问题都没有。 2在这里不适用。 3 应避免。根据情况,1 是一个合理的选择。

关于javascript - 关闭替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38219428/

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