Javascript名称空间未定义

Javascript名称空间未定义,javascript,namespaces,undefined,Javascript,Namespaces,Undefined,因此,我继承了一段代码,我正在寻找能够帮助我理解正在发生的事情的人。因此,我设置了一些名称空间,其中有一些函数 我还有另一个javascript文件,它通过C.S.gridSetSearchFilter(foo,bar)引用这些函数,但是这个传统文件无法访问这个函数。它告诉我undefined不是一个函数 这对我来说很奇怪,因为我已经验证了主名称空间已经加载并初始化,但是第二个javascript文件似乎无法访问名称空间。大家知道我在哪吗 jQuery(function ($) { //

因此,我继承了一段代码,我正在寻找能够帮助我理解正在发生的事情的人。因此,我设置了一些名称空间,其中有一些函数

我还有另一个javascript文件,它通过C.S.gridSetSearchFilter(foo,bar)引用这些函数,但是这个传统文件无法访问这个函数。它告诉我undefined不是一个函数

这对我来说很奇怪,因为我已经验证了主名称空间已经加载并初始化,但是第二个javascript文件似乎无法访问名称空间。大家知道我在哪吗

jQuery(function ($) {
    // Check if namespace is defined
    if (typeof (C) === 'undefined') {
        var C = {};
    }

    // Check if namespace is defined
    if (typeof (C.S) === 'undefined') {
        C.S = {};
    }

    // Define the application namespace
    C.S = (function ($) {
        var _init = function () {
           //more init code here...
        }
            var _gridSetSearchFilter = function (gridId, gridPagingId) {
                $('#' + gridId).jqGrid('navGrid', '#' + gridPagingId, { edit: false, add: false, del: false },
                    {}, // use default settings for edit
                    {}, // use default settings for add
                    {}, // use default settings for delete
                    { multipleSearch: true, showQuery: true, width: 650, closeOnEscape: true, closeAfterSearch: true }, // enable the advanced searching
                    { closeOnEscape: true }
                );

                $('#' + gridId).jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: 'cn' });
            };

            var _gridFluidResize = function (gridId, gridContainerId) {
                // Setup grid to have fluid width on window resize
                $(window).bind('resize', function () {
                    $('#' + gridId).setGridWidth($('#' + gridContainerId).width(), true);
                }).trigger('resize');
            };

            return {
                init: function () {
                    _init();
                },
                gridSetSearchFilter: function (gridId, gridPagingId) {
                    _gridSetSearchFilter(gridId, gridPagingId);
                },
                gridFluidResize: function (gridId, gridContainerId) {
                    _gridFluidResize(gridId, gridContainerId);
                }
    }

您正在重新定义
C
!我不认为我是,我可以访问c.s.gridFluidResize,但是当我包含我的另一个javascript文件时,我就得到了错误。为什么当我看到它已经初始化和实例化时,它不会被另一个javascript文件识别?我应该将其他文件中的代码合并到我的主文件中吗?