gpt4 book ai didi

javascript - 这个函数在 Facebook 的 JavaScript 源代码中有什么作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:49 24 4
gpt4 key购买 nike

我在阅读 Facebook 的一些 JavaScript 时,发现了一个奇怪的函数,我无法弄清楚它的用途:

function bagof(a) {
return function () {
return a;
};
}

据我所知:

  • bagof 是一个接受参数a 的函数。
  • bagof 立即返回一个匿名函数。
  • 返回的函数然后返回原始参数a

我假设 bagof 的用法是这样的:

newFunction = bagof("This is the data");
​console.log( newFunction() );​ //Logs "This is the data"​​​​​​​​​​​​

有什么意义?为什么不直接使用或存储传递给 a 的任何变量或函数?

The source file看起来它包含应用程序的许多实用功能。

最佳答案

bagof() 方法可以用作创建常量函数的工厂(函数总是返回相同的值)。

即使您在这样的上下文中使用:

var randomFun = bagof(Math.random());

调用 randomFun() 将始终返回相同的值,因为 Math.random() 仅(急切地)计算一次。我想这是在某些 API 需要一个方法而我们只想传递常量值时使用的实用方法。而不是:

giveMeCallback(function() {return 42})

你可以简单地说:

giveMeCallback(bagof(42))

关于javascript - 这个函数在 Facebook 的 JavaScript 源代码中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235646/

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