Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问静态类成员的javascript_Javascript - Fatal编程技术网

访问静态类成员的javascript

访问静态类成员的javascript,javascript,Javascript,在我的页面部分,我有以下内容: <head> <link rel='stylesheet' href='style.css' /> <script language='javascript' src='scripts/jquery-1.7.1.min.js'></script> <script language='javascript' src='scripts/NumberMaze.js'></scrip

在我的页面部分,我有以下内容:

<head>
    <link rel='stylesheet' href='style.css' />
    <script language='javascript' src='scripts/jquery-1.7.1.min.js'></script>
    <script language='javascript' src='scripts/NumberMaze.js'></script>
    <script language='javascript' src='scripts/GameConfig.js'></script>
    <script language='javascript' src='scripts/UIManager.js'></script>
    <script>
        $(document).ready(function() {
            var game = new NumberMaze();
        });
    </script>
</head>
NumberMaze.js包含:

(function(undefined) {
    NumberMaze.GameConfig           =   function() {
        return {
            minCanvasWidth          :   320,
            minCanvasHeight         :   240,
            maxCanvasWidth          :   640,
            maxCanvasHeight         :   480,
        };
    };
})();
(function($, undefined) {
    NumberMaze          =   function() {
        console.log(NumberMaze.GameConfig.minCanvasWidth);
        console.log(NumberMaze.GameConfig);
    };
})(jQuery);
对于NumberMaze.js中的日志,我得到以下输出。如何访问minCanvasWidth的值。我的代码怎么了

undefined
function () {
        return {
            minCanvasWidth          :   320,
            minCanvasHeight         :   240,
            maxCanvasWidth          :   640,
            maxCanvasHeight         :   480,
        };
    }

如日志所示,您有一个存储在
NumberMaze.GameConfig
中的函数;不是包含数据的实际对象

您必须调用函数来获取对象,因为函数
返回对象:

console.log(NumberMaze.GameConfig().minCanvasWidth);
但是,为什么不直接设置对象,而不是将其包装在一个(看似无用的)函数中

(function(undefined) {
    NumberMaze.GameConfig = {
        minCanvasWidth    :   320,
        minCanvasHeight   :   240,
        maxCanvasWidth    :   640,
        maxCanvasHeight   :   480,
    };
})();

这样,两个日志都可以正常工作。

aww。。GameConfig是一个函数。正确的。。thx指出这一点:)