Javascript 如何在两个不同的文件中使用名称空间?

Javascript 如何在两个不同的文件中使用名称空间?,javascript,javascript-namespaces,Javascript,Javascript Namespaces,我试图在两个不同的文件中使用名称空间 第一个文件: $(document).ready(function () { var App= window.App || {}; App.Form = can.Control.extend({... }); window.App = App; }); 第二个文件: $(document).ready(function

我试图在两个不同的文件中使用名称空间

第一个文件:

        $(document).ready(function () {
               var App= window.App || {};

               App.Form = can.Control.extend({... });
               window.App = App;
        });
第二个文件:

        $(document).ready(function () {

               var App2 = window.App2 || {};

               App2.Form = can.Control({ 
               new App.Form();
               });

               window.App2 = App2;
        }); 
但我一直在犯这样的错误:

未捕获类型错误:未定义不是函数


我做错了什么?

在你的第二个文件中试试这个

;(function(global) {

    var App = window.App || {}


    $(document).ready(function () {

           var App2 = window.App2 || {};

           App2.Form = can.Control({ 
           new App.Form();
           });

           window.App2 = App2;
    }); 

})(window);

你从哪里得到那个错误的?我的意思是在哪一行?什么是对象
可以
?我在这一行得到错误:new App.Form();我在用canjs。这就是为什么会有一个包含两个不同名称空间的can:-)您是否确保在第一个文件之后执行第二个文件?我会执行
})(window.App=window.App |{})第二个文件必须在之后包含我如何在之后包含它?