Javascript 在jquery中创建命名空间时出错

Javascript 在jquery中创建命名空间时出错,javascript,jquery,namespaces,Javascript,Jquery,Namespaces,我在js文件中写了一段代码 (function ($) { var $r = $.loadaccess; jQuery.loadaccess.page.user = { init: function () { debugger; var k = 'dd'; alert(k); } }; })(jQuery); var user = jQuery.loadaccess

我在js文件中写了一段代码

(function ($) {
    var $r = $.loadaccess;

    jQuery.loadaccess.page.user = {
        init: function () {
            debugger;
            var k = 'dd';
            alert(k);
        }
    };
})(jQuery);

var user = jQuery.loadaccess.page.user;
我正在.aspx页面上调用它

$(document).ready(function () {

        jQuery.loadaccess.page.user.init();
    });
但这给我带来了错误 Microsoft JScript运行时错误:无法获取属性“页面”的值:对象为null或未定义

关于这个

jQuery.loadaccess.page.user = {
            init: function () {
                debugger;
                var k = 'dd';
                alert(k);
            }
        };

错误是非常自描述性的,
jQuery.loadaccess
为null或未定义。您希望jQuery.loadaccess是什么?您需要自己创建这个“名称空间”。例如:

jQuery.loadaccess = {
  page: {
    user: {
      init: function () {
          debugger;
          var k = 'dd';
          alert(k);
      }
    }
  }
};

不过,我不建议向jQuery对象添加对象,而是创建自己的顶级名称空间

JQuery.loadaccess.page.user是我的命名空间,Javascript中的“命名空间”只是对象。如果对象不存在,则无法在该对象上创建属性。因此,如果尝试执行'jQuery.loadaccess.something',它将出错,因为'loadaccess'对象不存在。您需要手动创建所有级别的命名空间(包括“loadaccess”对象)。我已经更新了我的答案。