我是javascript新手專區。我正在分析解釋here的代碼,以避免在編寫Firefox擴展時在全球範圍內造成污染。
當代碼關於在javascript中註冊的名稱空間
1. // Namespace registration
2. this.ns = function(fn) {
3. var ns = {};
4. namespaces.push(fn, ns);
5. return ns;
6. };
正在執行我不理解:
1)爲什麼代碼聲明NS = {}在3線
2)爲什麼代碼返回納秒在線路5
3)哪個函數接收返回的ns {}以及函數如何使用它
4)ns {}對於每個已註冊的名稱空間都是相同的(?),所以爲什麼在命名空間數組中與fn一起被推入參數,然後提供鱈魚時e正在執行fn.apply(ns),因爲每次都會有所不同?
對不起,我可憐的英語,並提前感謝您的幫助。
謝謝!我會嘗試用你給我的額外信息重新分析代碼。 – mty 2013-02-18 11:56:50
如果您還有其他問題,歡迎隨時提供幫助。 – 2013-02-18 11:57:16