2013-03-27 17 views
0

我注意到Facebook做了一些有趣的事情,我想知道他們在做什麼,爲什麼?如果你看看在他們的.js文件一個自己的源代碼,他們似乎做了很多這樣的:Facebook的__d方法的目的是什麼?

__d("AjaxRequest",["Erro... 
__d("FBAjaxRequest",["AjaxRequest"... 
__d("CallbackManagerController",... 

似乎有是在他們的任何JavaScript文件的不變量或普通函數和對象。有功能,但傳遞給這個__d方法的所有參數,如:

__d("keyMirror",[],function(a,b,c,d,e,f){var g=function(h){var i={},j;if(!h)return h;for(j in h){if(!h.hasOwnProperty(j))continue;i[j]=j;}return i;};e.exports=g;}); 

這是某種形式的優化爲JavaScript,或者是用於簡化管理?

感謝

+2

[相關](http://stackoverflow.com/questions/14881084/what-is-facebooks-function-d) - 也許是一個騙局... – Lix 2013-03-27 17:29:15

+0

啊,沒有發現一個,當我搜索SO。 – 2013-03-27 17:30:42

+0

是的,實際上有一個答案(關於Require_S術語中的'__d === define') - 儘管有一些很大的祕密,但它是另一個被OP接受的。去搞清楚。 – raina77ow 2013-03-27 17:30:50

回答

0

也許只是一個包裝,做事情喜歡依賴注入和錯誤處理。如果你能找出__d的定義,你肯定會知道的。

它看起來不像一個優化(即封隔器)。

+0

是的,我一直在尋找__d被定義的位置。它在那裏。我試着在JS文件中搜索「function __d」或「__d =」和「__d =」。 – 2013-03-27 17:28:26

相關問題