ちょうどその名前空間にあなたのオブジェクトリテラルまたは機能を割り当てる、グローバル名前空間にオブジェクトを追加します。
window.PROJECT = {};
(function($,window,undefined) {
var A = {
init : function() { ... }
}
window.PROJECT.A = A;
})(jQuery, window);
PROJECT.A.init();
また、モジュールからPROJECTオブジェクトに値を戻すこともできます。
window.PROJECT = {};
PROJECT.A = (function($, window, undefined) {
var A = {
init : function() { ... }
}
return A;
})(jQuery,window);
この場合も、オブジェクトをグローバル変数に戻すことができます。
var PROJECT = (function($, window, undefined) {
var A = {
init : function() { ... }
}
var B = {
init : function() { ... }
}
return { A : A, B : B };
})(jQuery,window);
さらに、グローバル名前空間オブジェクトを拡張して、以前のOPの回答に基づいています。これは実際には以前の答えによって既に達成されています。プロジェクトは、さらに先の例のようにしてください拡張すること
var PROJECT = (function(window, undefined) {
// Private var
var container,
// Class constructor
Example = function() {
}
Example.prototype = {
},
// Object literal
A = {
init : function() {
container = new Example();
}
// Expose or reflect other methods using private instance of Example
}
return { A : A };
})(window);
が
(function(window, PROJECT, undefined) {
// Private vars
...
// Any other non exposed code
...
PROJECT.B = {
init : function() { ... }
}
// Make sure PROJECT is attached to window if it is empty object
if (typeof window.PROJECT === 'undefined')
window.PROJECT = PROJECT;
})(window, window.PROJECT || {});
あなたは何をしようとしたことがありますか? – Bergi