4
我读了一些Facebook的JavaScript代码,再通过此我无法弄清楚的目的好奇的功能传来:这个函数在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看起来像它包含应用程序的许多实用功能。
因此,该功能并没有真正“做”什么,但作为简写容易产生其他功能? – 2012-04-19 19:58:21
@MichaelJasper:不,它没有副作用,也不计算任何东西。其唯一目的是创建功能,考虑[工厂方法模式](http://en.wikipedia.org/wiki/Factory_method_pattern) – 2012-04-19 20:02:49