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