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